ArrayList
是 Java 中最常用的动态数组实现类,它基于数组实现,支持动态扩容,允许存储重复元素和 null
值。以下是 ArrayList
的常用 API:
1. 构造方法
-
ArrayList()
: 创建一个初始容量为 10 的空列表。 -
ArrayList(int initialCapacity)
: 创建一个指定初始容量的空列表。 -
ArrayList(Collection<? extends E> c)
: 创建一个包含指定集合元素的列表。
2. 常用方法
添加元素
-
boolean add(E e)
: 将元素添加到列表末尾。 -
void add(int index, E element)
: 在指定位置插入元素。 -
boolean addAll(Collection<? extends E> c)
: 将指定集合的所有元素添加到列表末尾。 -
boolean addAll(int index, Collection<? extends E> c)
: 从指定位置开始插入指定集合的所有元素。
删除元素
-
E remove(int index)
: 删除指定位置的元素,并返回被删除的元素。 -
boolean remove(Object o)
: 删除列表中第一次出现的指定元素(如果存在)。 -
boolean removeAll(Collection<?> c)
: 删除列表中包含在指定集合中的所有元素。 -
void clear()
: 清空列表中的所有元素。
修改元素
-
E set(int index, E element)
: 替换指定位置的元素,并返回被替换的旧元素。
查询元素
-
E get(int index)
: 返回指定位置的元素。 -
int indexOf(Object o)
: 返回指定元素第一次出现的索引,如果不存在则返回 -1。 -
int lastIndexOf(Object o)
: 返回指定元素最后一次出现的索引,如果不存在则返回 -1。 -
boolean contains(Object o)
: 判断列表是否包含指定元素。 -
boolean containsAll(Collection<?> c)
: 判断列表是否包含指定集合中的所有元素。
列表大小和状态
-
int size()
: 返回列表中的元素个数。 -
boolean isEmpty()
: 判断列表是否为空。
遍历列表
-
Iterator<E> iterator()
: 返回列表的迭代器。 -
ListIterator<E> listIterator()
: 返回列表的列表迭代器(支持双向遍历)。 -
ListIterator<E> listIterator(int index)
: 从指定位置开始返回列表的列表迭代器。
子列表
-
List<E> subList(int fromIndex, int toIndex)
: 返回列表中从fromIndex
(包含)到toIndex
(不包含)的子列表。
其他方法
-
Object[] toArray()
: 将列表转换为数组。 -
<T> T[] toArray(T[] a)
: 将列表转换为指定类型的数组。 -
void ensureCapacity(int minCapacity)
: 确保列表的容量至少为指定值。 -
void trimToSize()
: 将列表的容量调整为当前元素个数。