集合框架(三)ArrayList的常见使用

发布时间 2023-12-01 20:29:26作者: 小池在线哭泣

ArrayList

1、动态数组实现
ArrayList 的底层是一个数组,当数组空间不足时,会自动扩容为当前容量的1.5倍(JDK1.4及以前的版本扩容为当前容量的2倍)。扩容是通过创建一个新的数组,并将原始数组中的元素拷贝到新数组中完成的。

2、与数组相比具有动态增长
与普通数组相比,ArrayList 具有动态增长的能力,可以根据需要动态扩容/缩容。在实际开发中,动态增长意味着可以在程序运行时可根据需要添加/删除元素,这极大地提高了代码的灵活性。

3、非同步集合
ArrayList 不是同步集合,如果需要在多线程环境下访问该集合,需要手动实现线程同步。

4、随机访问元素效率高
ArrayList 中的元素是依次存放在一个数组中的,因此它具有随机访问元素的能力,即可以通过下标操作快速访问数组中任何一个元素。

5、添加/删除元素效率低
因为 ArrayList 的底层是基于数组实现的,当需要插入/删除元素时,需要移动后面的元素,这将导致插入/删除操作效率降低,时间复杂度为 O(N)。

6、实现了多种接口
ArrayList 实现了多种接口,包括 List、RandomAccess、Cloneable 和 Serializable 接口。

ArrayList的常见使用
1. add(Object element):向列表的尾部添加指定的元素,一次只能添加一个。

2. add(int index, Object element):在列表的指定位置插入指定的元素。

3. remove(Object element):从列表中删除指定的元素,如果有多个相同的元素,只删除第一个。

4. remove(int index):从列表中删除指定位置的元素。

5. get(int index):返回列表中指定位置的元素。

6. set(int index, Object element):用指定的元素替换列表中指定位置的元素。

7. size():返回列表中元素的数量。

8. clear():从列表中删除所有元素。

9. isEmpty():如果列表中没有元素,则返回true。

10. contains(Object element):如果列表中包含指定的元素,则返回true。

基本使用:
创建ArrayList对象

ArrayList<String> list = new ArrayList<String>();
添加元素

list.add("apple");
list.add("banana");
list.add("orange");
获取元素

String fruit = list.get(0); // 获取第一个元素
修改元素

list.set(0, "pear"); // 将第一个元素修改为pear
删除元素

list.remove(0); // 删除第一个元素
获取ArrayList的大小

int size = list.size(); // 获取ArrayList的大小
遍历ArrayList

for (String fruit : list) {
System.out.println(fruit);

————————————————
版权声明:本文为CSDN博主「小池敲代码了吗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_73245042/article/details/134742990

博客来源:转载我自己