List接口:
特点:
List集合代表一个元素有序、可重复的集合。该集合默认按元素添加顺序设置元素索引。与Set相比,List增加了根据索引来插入、替换和删除集合元素的方法。List判断两个对象相等只要通过equals()方法返回true即可。
关联接口:
ListIterator接口:
ListIterator接口继承了Iterator接口,与之相比增加了向前迭代功能。
实现类:
AreayList和Vector(有序,数组维护,允许插入空值):
如果向ArrayList或Vector集合大量添加元素,可使用ensureCapacity(int minCapacity)方法一次性添加initialCapacity。不指定initialCapacity参数,则Object[]数组的长度默认为10。
关联工具类:
Arrays.ArrayList是一个固定长度的List集合,程序只能遍历该集合里的元素,不可增加、删除该集合里的元素。
Queue接口:
特点:
模拟队列这种数据结构。
实现类:
PriorityQueue(有序,队列维护,不允许插入空值):
PriorityQueue保存队列元素的顺序并不是加入队列的顺序,而是按队列元素的大小进行排序。
排序方式:自然排序,定制排序。
Deque接口与ArrayDeque实现类:
Deque接口是Queue接口的子接口,它代表一个双端队列。
ArrayDeque(有序,基于数组的双端队列维护,不允许插入空值):它是Deque的实现类,创建Deque时可以指定一个numElements参数,该参数用于指定Object[]数组的长度,如果不指定numElements参数,Deque底层数组的长度为16。ArreyDeque既可作为栈使用,又可作为队列使用。
LinkedList(有序,双向链表维护,允许插入空值):
LinkedList是List接口的实现类,可以根据索引访问集合中的元素。除此以外,它还实现了Deque接口,即可被当成栈来使用,又可以当成队列来使用