List
特点
不唯一,有序
ArrayList
ArrayList实现了长度可变的数组,在内存中分配连续的空间
- 优点:遍历元素和随机访问元素的效率比较高
- 缺点:添加和删除需要大量移动元素效率低,按照内容查询效
率低
LinkedList
LinkedList采用链表存储方式
- 优点:插入、删除元素时效率比较高
- 缺点:遍历和随机访问元素效率低下
LinkedList特有方法
- 增
- addFirst(Object obj) 添加头
- addLast(Object obj) 添加尾
- offerFirst(Object obj) 1.6版本之后的加头,尾巴
- offerLast(Object obj) 1.6版本之后的加头,尾巴
- 删
- removeFirst() 删除头 获取元素并删除元素
- removeLast() 删除尾
- pollFirst() 1.6版本之后的删头,删尾
- pollLast() 1.6版本之后的删头,删尾
- 查
- getFirst() 获取头 获取元素但不删除
- getLast() 获取尾
- peekFirst() 1.6版本之后的获取头,获取尾
- peekLast() 1.6版本之后的获取头,获取尾
List接口特有方法
- 增
- add(index,element) 在指定索引的位置上插入元素
- addAll(index,Collection) 在指定的引的位置上插入整个集合的元素
- addAll(Collection) 在结束插入整个集合的元素
- 删
- remove(index)
- 改
- set(index,element)
- 使用element替换指定索引位置上的元素
- 查(获取元素)
- get(index)
- subList(from,to)
- listIterator();