List接口是一个有序存储的Collection(线性列表接口)。
可以通过索引(类似数组下标)来访问List中的元素,第一个元素索引为0,允许存储相同的元素。
常见的实现了List接口的类有ArrayList、Vector、LinkedList等。
注意:不能存储基本数据类型(int、long、double…)。
-
ArrayList:
基于数组实现,是一个动态的数组队列,和数组不一样的是它的容量可以自动增长。只要内存够大,可以存储任意多的对象。插入和删除元素时速度慢,但是查找元素速度快。 -
LinkedList:
基于链表实现,每个元素分配的空间不必连续。插入和删除元素时速度快,但是查找元素速度慢。
LinkedList特有API:
方法 | 描述 |
---|---|
E removeFirst() | 删除链表中第一个节点,返回删除节点存储的元素 |
E removeLast() | 删除链表中最后一个节点,返回删除节点存储的元素 |
E remove() | 同E removeFirst() |
E getFirst() | 返回链表中第一个节点的元素 |
E getLast() | 返回链表中最后一个节点的元素 |
addFirst(E e) | 在链表头插入元素e |
void addLast( |