1,List集合List集合包括List接口以及List接口的所有实现类。List集合中的元素允许重复,各元素的顺序就是对象插入的顺序。类似Java数组,用户可通过使用索引(元素在集合中的位置)来访问集合中的元素。
List接口List接口继承了Collection接口,因此包含Collection接口中的所有方法。List接口还定义了以下两个非常重要的方法:get(int index):获得指定索引位置的元素。set(int index,Object obj):将集合中指定索引位置的对象修改为指定的对象。
2,List接口的实现类List接口的常用实现类有ArrayList类与LinkedList类
ArrayList类实现了可变的数组,允许保存所有元素,包括null,并可以根据索引位置对集合进行快速的随机访问。缺点是向指定的索引位置插入对象或删除对象的速度较慢。
LinkedList类采用链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象。需要向集合中插入、删除对象时,使用LinkedList类实现的List集合的效率较高;但对于随机访问集合中的对象,使用LinkedList类实现List集合的效率较低。使用List集合时通常声明为List类型,可通过不同的实现类来实例化集合。通过ArrayList类、LinkedList类分别实例化List集合的代码如下:
List<E> list = new ArrayList<>();
List<E> list2 = new LinkedList<>();
package test;
import java.util.ArrayList;
import java.util.List;
public class test {
public static void main(String[] args) {
List<String> ls=new ArrayList<>();
ls.add("a");
ls.add("b");
ls.add("c");
System.out.println(ls.get(1));
ls.set(1,"q");
System.out.println(ls);
}
}
b
[a, q, c]