在集合框架中,ArrayList是一个普通的类,实现了List接口。
ArrayList 是以泛型方式实现的,使用时必须要先实例化。
ArrayList 底层是一段连续的空间,并且可以动态扩容,是一个动态类型的顺序表。
1.ArrayList 的使用
代码语言:javascript复制 public static void main(String[] args) {
//构建一个空的列表
List<Integer> list = new ArrayList<>();
//List<Integer> 限定了list中只能存储整型元素
//构建一个具有10个容量的列表
List<Integer> list1 = new ArrayList<>(10);
//list2构建好后,与list1一致
List<Integer> list2 = new ArrayList<>(list1);
//避免省略类型,否则,任意类型的数据都可以存放
List list3 = new ArrayList();
}
2.ArrayList的常见方法
ArrayList 虽然提供的方法比较多,但是常用方法如下所示;
方法 | 功能 |
---|---|
boolean add (E e) | 结尾插 e |
void add (int index, E element) | 将 e 插入到 index 位置 |
boolean addAll (Collection<? extends E> c) | 结尾插 c 中的元素 |
E remove (int index) | 删除 index 位置元素 |
boolean remove (Object o) | 删除遇到的第一个 o |
E get (int index) | 获取下标 index 位置元素 |
E set (int index, E element) | 将下标 index 位置元素设置为 element |
void clear () | 清空 |
boolean contains (Object o) | 判断 o 是否在线性表中 |
int indexOf (Object o) | 返回第一个 o 所在下标 |
int lastIndexOf (Object o) | 返回最后一个 o 的下标 |
List<E> subList (int fromIndex, int toIndex) | 截取部分 list |