zoukankan      html  css  js  c++  java
  • List集合

    List集合包括list接口以及List接口的所有实现类。list集合中的元素允许重复,各元素的顺序就是对象插入的顺序。类似Java数组,用户可以通过索引(元素在集合中的位置)来访问集合中的元素。

    List接口

    list接口继承了collection接口,因此包含collection中的所有方法。此外,list接口还定义了以下两个非常重要的方法。

    • get(int index):获得指定索引位置的元素
    • set(int index,Object obj):将集合中指定索引位置的对象修改为指定的对象

    List接口的实现类

    list接口的常用实现类有ArrayList和LinkedList。

    1. ArrayList类实现了可变数组,允许保存所有的元素,也可以包含null,并根据索引位置对集合进行快速的随机访问;缺点是向指定的索引位置插入对象或者删除对象的速度慢
    2. LinkedList类采用链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象,需要向集合中插入,删除对象时,采用LinkedList类实现的list集合的效率较高,但对于随机访问集合中的对象,使用LinkedList类实现list集合的效率比较低

    使用list集合时通常声明为list类型,可通过不同的实现类来实例化集合

    分别通过ArrayList,LinkedList类实例化list集合,代码如下:

    List<E> list = new ArrayList<>();
    List<E> list2 = new LinkedList<>();

    上面的代码中,E可以是合法的Java数据类型。例如,如果集合中的元素为字符串类型,那么E可以修改为String

    创建类Damo1,在主方法中创建集合对象,通过Math类的random()方法随机获取集合中的某个元素,然后移除数组中索引位置为“2”的元素,最后遍历数组。

    import java.util.ArrayList;
    import java.util.List;
    
    public class Demo1 {//创建类Demo1
    
        public static void main(String[] args) {//主方法
            List<String> list = new ArrayList<>();//创建集合对象
            list.add("a");//向集合中添加元素
            list.add("b");
            list.add("c");
            int i = (int) (Math.random()*list.size());//获得0~2之间的随机数
            System.out.println("随机获取数组中的元素:"+list.get(i));
            list.remove(2);//将指定索引位置的元素从集合中移除
            System.out.println("将索引是2的元素从数组移除后,数组中的元素是:");
            for(int j =0;j<list.size();j++){
                System.out.println(list.get(j));
            }
    
        }
    
    }

    运行结果如下所示。Math类的random()方法可以获得一个0.0~1.0之间的随机数

     

     

     

     

    说明:与数组相同,集合的索引也是从0开始

     

  • 相关阅读:
    leetcode: Search in Rotated Sorted Array
    leetcode: Linked List Cycle
    leetcode: Longest Valid Parentheses
    leetcode: Next Permutation
    leetcode: Substring with Concatenation of All Words
    leetcode: Divide Two Integers
    leetcode: Implement strStr()
    Spider Studio 新版本 (20131201)
    已知问题汇总 (2013-11-30)
    C#代码获取或设置Iframe中的HTML
  • 原文地址:https://www.cnblogs.com/qimengru/p/7644807.html
Copyright © 2011-2022 走看看