ArrayList详解
https://javabetter.cn/collection/arraylist.html
ArrayList 在数组的基础上实现了自动扩容,并且提供了比数组更丰富的预定义方法(各种增删改查),非常灵活。ArrayList
是 Java 中的一种可调整大小的数组实现,它属于 java.util
包下的 List
接口的实现类。ArrayList
提供了动态数组的功能,这意味着它能够根据需要增加和减少其大小。这对于在编程中需要经常修改数组大小的场景非常有用。
ArrayList 的主要特性
- 动态扩展:默认情况下,
ArrayList
在元素填满容量时会自动扩大约为原来的1.5倍。 - 随机访问:
ArrayList
支持快速随机访问,时间复杂度为 O(1),因为它底层是通过数组实现的。 - 插入删除成本高:由于是数组实现,插入和删除操作可能需要移动元素以保持元素的连续性,这使得平均插入和删除操作的时间复杂度为 O(n)。
常用方法
add(E e)
:向ArrayList
的末尾添加一个元素。add(int index, E element)
:在指定位置插入一个元素。remove(int index)
:移除指定位置的元素。get(int index)
:返回指定位置上的元素。set(int index, E element)
:将指定位置的元素替换为新元素。size()
:返回ArrayList
中的元素个数。clear()
:移除所有元素,清空列表。isEmpty()
:检查列表是否为空。
示例代码
下面是一些使用 ArrayList
的基本示例代码:
1 | import java.util.ArrayList; |
在算法中的使用
ArrayList
在许多算法中都非常有用,尤其是在需要动态数组功能时。例如,在处理不定量数据输入、进行数据聚合操作或者在需要频繁访问元素而不太频繁地插入或删除时,ArrayList
是一个非常合适的选择。