ArrayList介绍和其相关常用方法总结

本文详细介绍了ArrayList的工作原理及常用方法,包括其基于数组实现的特点、懒加载初始化策略、动态扩容机制等,并列举了如size()、get()、add()等常用操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ArrayList:

ArrayList是基于数组实现的List类,完全支持List接口的全部功能,支持快速访问,复制和序列化。底层是基于数组实现容量大小动态变化,允许null值存在。

常识

初始化策略:Lazy-Load(懒加载策略),只有当Array对象第一次被使用(add)时,内部的数组才会初始化为长度为10的数组
扩容:每次扩容为原先数组的1.5倍
线程安全性:线程不安全

我常用到的就是以下方法,还有哪些常用的,希望大家不要吝啬,让我涨涨知识。

常用方法介绍:

size():求出集合长度

get(index):获取下标为index的元素

add(object):添加一个元素。

add(index,object o):将o插入到下标为index的位置。

remove(index):移除下标为index的元素

remove(object o):o如果为基本数据类型,需要使用包装类转换才会删除元素,

contains(object o):判断是否包含元素o,包含返回true,否则为false。

isEmpty():判断集合是否为空,为空返回true,否则返回false。

clear():清空集合

indexOf(object o):从前往后第一次出现o时的下标。

toArray():转换为数组

asList(object[] o):将数组转换为集合

Collections.sort(list):给集合排序

### Java ArrayList 常用方法总结 #### 创建 ArrayList 对象 可以通过无参构造方法创建一个空的 `ArrayList` 实例。 ```java ArrayList<E> list = new ArrayList<>(); ``` 此方式允许泛型参数指定存储对象的具体类型[^2]。 --- #### 添加元素到列表 使用 `add(E e)` 方法向 `ArrayList` 中添加单个元素;如果需要批量添加,则可使用 `addAll(Collection<? extends E> c)` 方法。 ```java // 单个添加 list.add("元素"); // 批量添加 list.addAll(Arrays.asList("元素1", "元素2")); ``` --- #### 遍历 List 集合 通过传统的 `for` 循环结合索引访问的方式遍历集合中的每一个元素: ```java for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } ``` 上述代码展示了如何利用 `size()` 获取长度以及 `get(int index)` 访问特定位置上的值[^1]。 还可以采用增强型 `for-each` 或者流式处理等方式完成更简洁高效的迭代操作。 --- #### 清空所有元素 调用 `clear()` 函数能够快速移除当前实例内的全部条目而不影响其本身结构特性,即容量不会缩减至零。 ```java list.clear(); ``` 该行为使得后续仍能继续正常增删改查新数据项而无需重新初始化容器变量[^3]。 --- #### 判断两个列表是否相等 借助于继承自 Object 类别的 equals(Object o) 成员函数比较两份独立但可能具有相同内容序列的对象之间是否存在逻辑意义上的匹配关系。 ```java boolean isEqual = list1.equals(list2); System.out.println(isEqual); // 输出 true 如果两者完全一致则返回true 否则false ``` 注意这里不仅考量顺序而且严格区分大小写敏感度等因素[^4]。 --- #### 删除指定位置处或者满足条件的第一个目标实体 分别对应 removeAtPosition RemoveByCondition 的语义表达如下所示: 删除固定下标的成员单元: ```java if (!list.isEmpty()) { int positionToRemove = ... ; list.remove(positionToRemove ); } ``` 依据给定谓词筛选并剔除首个符合条件的结果记录: ```java Predicate<String> condition = s -> s.startsWith("A"); list.removeIf(condition); ``` 以上就是关于 Java 编程语言当中非常重要的集合框架组成部分之一——动态数组类 ArrayList 的一些基础却实用的功能介绍及其典型应用场景举例说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值