Java集合学习(八)——ArrayList类详解

276 阅读4分钟

这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战

前言

 大家好,我是程序猿小白 GW_gw,很高兴能和大家一起学习进步。

以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。

摘要

 本文主要介绍Java集合的ArrayList集合的特点和常用方法。

1. ArrayList类

1.1 什么是ArrayList集合

简单的来讲ArrayLIst集合就是一个长度可以动态增长的数组,它的长度根据你存储的元素数量数量逐渐增长。如果不指定初始长度,他会默认创建一个长度为10的数组,如果需要存储很多的元素,那么建议在添加元素前使用ensureCapacity(int minCapacity)方法,先增加集合的长度到minCapacity大小,这样可以减少重分配的次数,从而提高性能。

此集合可以存放null元素,并且此类实现不是同步的。

1.2. ArrayList集合的构造方法

ArrayList集合有三个构造方法,分别是:

ArrayList() 构造一个初始容量为 10 的空列表。
ArrayList(Collection c) 构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
ArrayList(int initialCapacity) 构造一个具有指定初始容量的空列表。

实例展示:

public class ArrayListTest {
    public static void main(String[] args) {
        ArrayList arrayList = new ArrayList<String>();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
        arrayList.add(4);
        System.out.println(arrayList);
        ArrayList arrayList1 = new ArrayList<String>(30);
        ArrayList arrayList2 = new ArrayList<String>(arrayList);
        System.out.println(arrayList2);
​
    }
}

image-20211130220310845

1.3 ArrayList集合的常用方法。

booleanadd(E e) 将指定的元素添加到此列表的尾部。
voidadd(int index, E element) 将指定的元素插入此列表中的指定位置。
booleanaddAll(Collection c) 按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。
booleanaddAll(int index, Collection c) 从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。
voidclear() 移除此列表中的所有元素。
booleancontains(Object o)如果此列表中包含指定的元素,则返回true。
Eget(int index) 返回此列表中指定位置上的元素。
intindexOf(Object o) 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
booleanisEmpty()如果此列表中没有元素,则返回true
intlastIndexOf(Object o) 返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。
Eremove(int index) 移除此列表中指定位置上的元素。
booleanremove(Object o) 移除此列表中首次出现的指定元素(如果存在)。
Eset(int index, E element) 用指定的元素替代此列表中指定位置上的元素。
intsize() 返回此列表中的元素数。
Object[]toArray() 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。

集合的方法不外乎增删查改。

我们就按照这个顺序来学习。

实例展示:

增加元素:

//加入元素到数组末尾
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
arrayList.add(4);
//加入元素到指定位置
arrayList.add(0,5);
//加入指定集合的所有元素
ArrayList arrayList1 = new ArrayList<String>();
arrayList1.add(1);
arrayList.addAll(arrayList1);
//加入集合中所有元素到指定位置
arrayList.addAll(5,arrayList1);

删除元素:

//删除指定位置的元素
arrayList.remove(1);
//删除指定的元素,如果有多个删除第一次出现的,如果没有返回-1
arrayList.remove("2");
//删除所有元素
arrayList.clear();
//删除集合中包含的所有元素
arrayList.removeAll(arrayList1);

查找元素:

//从指定位置查找元素
Object o = arrayList.get(1);
//查找指定元素,如果有多个,返回第一次出现的位置,如果没有返回-1
int i1 = arrayList.indexOf("2");
//查找指定元素,如果有多个,返回最后一个,如果没有,返回-1
int i = arrayList.lastIndexOf("2");
//查找指定元素是否存在,存在返回true,不存在返回false
boolean contains = arrayList.contains("2");
//判断集合是否为空,空则返回true,否则返回false
boolean empty = arrayList.isEmpty();

修改元素:

//修改指定位置的元素
arrayList.set(1,"2");

除此之外还有一个方法我们经常使用,那就是size()方法,用来获取集合的元素个数,常常用来遍历集合。

小结

以上就是ArrayList集合的常用介绍,希望对读者有所帮助,如有不正之处,欢迎留言评论。