ArrayList详解

107 阅读1分钟

1.ArrayList的特点

  1. 实现的是List接口
  2. 其中存放的元素有序且可以重复
  3. 可以存放null值
  4. 底层维护的是一个Object类型的数组
  5. 线程不安全

2.ArrayList的三种遍历方式

//第一种遍历方式
for (int i = 0; i < arrayList.size(); i++) {
    System.out.print(arrayList.get(i));
}

//第二种遍历方式
for (Integer integer : arrayList) {
    System.out.print(integer);
}

//第三种遍历方式
Iterator<Integer> iterator = arrayList.iterator();
while(iterator.hasNext()) {
    System.out.print(iterator.next());
}

3.ArrayList的常用方法

常用方法方法说明
boolean add向集合中添加元素
<泛型> get(int index)获取集合中的元素
<泛型> remove(int index)删除元素

4.ArrayList扩容机制

ArrayList的无参构造和指定容量参数构造的扩容方式有所不同。

  1. 无参构造初始化的ArrayList的初始容量大小为0,在第一次添加元素时会先将容量扩容到10,此后进行当容量不足时进行1.5倍扩容。
  2. 有参构造初始化的ArrayList的初始容量大小为指定参数大小,此后进行1.5倍扩容。

5.ArrayList扩容机制详解图

image.png

image.png

image.png