一、介绍
List集合包括List接口以及List接口的所有实现类。List集合中的元素允许重复,各元素的顺序就是对象插入的顺序。类似Java数组,用户可通过使用索引(元素在集合中的位置)来访问集合中的元素。
二、List接口还定义两个非常重要的方法
1、get(int index):获得指定索引位置的元素
2、set(int index,Object obj):将集合中指定索引位置的对象修改为指定的对象
三、List接口的常用实现类有ArrayList与LinkedList
1、ArrayList类实现了可变的数组,允许所有元素,包括null,并可以根据索引位置对集合进行快速的随机访问;缺点是向指定的索引位置插入对象或删除对象的速度较慢。
2、LinkedList类采用链表结构保存对象。这种结构的优点便于向集合中插入和删除对象,需要向集合中插入,删除对象时,使用LinkedList类实现的List集合的效率较高;但对于随机访问集合中对象,使用LinkedList类是实现List集合的效率低。
使用List集合时通常声明为List类型,可通过不同的实现类来实例化集合。
如下面使用ArrayList、LinkedList类实例化List集合:
List<E> list=new ArrayList<>();
List<E> list1=new LinkedList<>();
四、程序代码(例子)
import java.util.ArrayList;
import java.util.List;public class ListGather {public static void main(String[] args){List<String> list=new ArrayList<>();//创建集合对象//添加元素list.add("你");list.add("是");list.add("靓");list.add("仔");int i=(int)(Math.random()*list.size());//返回int型值,获取该集合中元素的个数,这里是获取0~3之间的随机数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));//循环遍历集合}}
}