ArrayList是一个动态数组,它的容量能自动增长。ArrayList中的方法不是同步的,所以不适合在多线程中使用,可以用CopyOnWriteArrayList替代ArrayList在多线程环境中使用。
遍历方式
- 迭代器iterator
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer i = iterator.next();
System.out.println(i);
}
- 随机访问
for (int i = 0; i< list.size(); i++) {
System.out.println(list.get(i));
}
- foreach遍历
for (Integer i : list) {
System.out.println(i);
}
扩容机制
入上图可以看出:新容量 = 旧容量 + 1/2 * 旧容量
触发扩容条件: