List是一种有序且允许重复的集合。
List家族
遍历List
下面以List<String>
为例
for循环
1 | for (int i = 0; i < list.size(); i++) { |
for-each遍历循环
1 | for (String str : list) { |
迭代器
- 使用父接口Collection中定义的iterator方法,它只能从前往后遍历。
1 | Iterator<String> iter = list.iterator(); |
- 使用List自带的ListIterator,它支持双向遍历。
1 | ListIterator<String> iter = list.listIterator(); |
forEach方法
1 | // list.forEach(System.out::println); |
实现类比较
实现类 | 存储结构 | 是否线程安全 | 默认初始容量 | 默认扩容机制(n为原来的容量) |
---|---|---|---|---|
Vector | 数组 | 线程安全 | 10 | 2 n |
ArrayList | 数组 | 线程不安全 | 10 | 1.5 n |
LinkedList | 链表 | 线程不安全 | - | - |
CopyOnWriteArrayList | 数组 | 线程安全 | 0 | n + 1 |