目录
一、List接口
List 是 Collection 接口的子接口,List 中的元素是有序的,而且可以重复。List 集合中的数据元素都对应一个整数形式的序号索引,记录其在集合中的位置,可以根据此序号存取元素。JDK 中常用的 List 实现类是 ArrayList 和 LinkedList。
除了拥有 Collection 接口所拥有的方法外,还拥有下列方法
-
void add(int index,Object o)
在集合的指定 index 位置处,插入指定的 o 元素。
-
Object get(int index)
返回集合中 index 位置的数据元素。
-
int indexOf(Object o)
返回此集合中第一次出现的指定 o 元素的索引,如果此集合不包含 o 元素,则返回-1。
-
int lastIndexOf(Object o)
返回此集合中最后出现的指定
o
元素的索引,如果此集合不包含o
元素,则返回-1。 -
Object remove(int index)
移除集合中 index 位置的数据元素。
-
Object set(int index,Object o)
用指定的 o 元素替换集合中 index 位置的数据元素。
二、ArrayList
ArrayList 实现了 List 接口,其底层采用的数据结构是数组,因此 ArrayList 更加适合根据索引访问元素的操作。
三、LinkedList
LinkedList 的底层是链表,一般而言,对于“索引访问”较多的集合操作建议使用 ArrayList,而对于“增删”较多的集合操作建议使用 LinkedList。
LinkedList 接口除了拥有 ArrayList 接口提供的方法外,还增加了如下一些方法:
-
void addFirst(Object o)
将指定数据元素插入此集合的开头。
-
void addLast(Object o)
将指定数据元素插入此集合的结尾。
-
Object getFirst()
返回此集合的第一个数据元素。
-
Object getLast()
返回此集合的最后一个数据元素。
-
Object removeFirst()
移除并返回此集合的第一个数据元素。
-
Object removeLast()
移除并返回此集合的最后一个数据元素。
四、泛型
泛型是指在定义集合的同时也定义集合中元素的类型,需要“< >”进行指定
例如:List<String> list = new ArrayList<String>();
注意,使用泛型约束的数据类型必须是对象类型,而不能是基本数据类型。如下就限制了 List 集合中只能存放 String 类型的元素。
JDK1.7 之后,=右边< >中的的 String 等类型也可以省略
例:List<String> list = new ArrayList<>();