行业资讯 2025年08月6日
0 收藏 0 点赞 370 浏览 1546 个字
摘要 :

文章目录 1.ArrayList的add()和addAll()方法 2.添加元素到指定索引位置的示例 3.注意IndexOutOfBoundsException 4.结论 Java ArrayList类是集合框架的一部分。ArrayLis……




Java ArrayList类是集合框架的一部分。ArrayList是可调整大小的数组数据结构的实现,当需要时,在运行时会自动增长和缩小,以适应元素的添加或移除。

新元素总是添加到当前ArrayList的末尾,除非我们明确指定要添加新元素的索引位置。

Quick ReferenceArrayList<String> arraylist = new ArrayList<>();
arraylist.add(\"apple\");            // [apple]
arraylist.add(\"banana\");        // [apple, banana]
//在索引位置1处添加新元素。
arraylist.add(1, \"grapes\");            // [apple, grapes, banana]
//在索引位置0处添加多个元素。
arraylist.add(0, Arrays.asList(\"date\", \"guava\"));            // [date, guava, apple, grapes, banana]

让我们更详细地了解一下。

1.ArrayList的add()和addAll()方法

ArrayList.add()方法将指定的元素插入到列表中的指定位置。它将当前在该位置的元素(如果有的话)以及任何后续元素向右移动(它们的索引将增加1)。请注意,索引从0开始。

add()方法不返回任何值。

void ArrayList.add(index, itemToAdd);

同样,如果我们需要向ArrayList添加多个项目,可以使用addAll()方法,它接受另一个集合并将其添加到指定的索引位置。如果成功添加了项目,它将返回true,否则返回false。

boolean ArrayList.addAll(index, collectionOfItems);

2.添加元素到指定索引位置的示例

让我们以在索引位置1处添加一个项目的示例为例。

ArrayList<String> namesList = new ArrayList<>(Arrays.asList(\"alex\", \"brian\", \"charles\"));
namesList.add(1, \"Lokesh\");
System.out.println(namesList);  //[alex, Lokesh, brian, charles]

类似地,我们可以通过将另一个列表传递给addAll()方法来添加多个元素到列表中。

在以下示例中,我们将新元素添加到列表的开头。这将使所有现有元素向右移动。

ArrayList<String> list = new ArrayList<>(Arrays.asList(\"a\", \"b\", \"c\"));
list.addAll(0, List.of(\"1\", \"2\", \"3\"));
System.out.println(list);  //[1, 2, 3, a, b, c]

3.注意IndexOutOfBoundsException

如果参数索引超出范围,add()和addAll()方法将抛出IndexOutOfBoundsException异常。

Assertions.assertThrows(IndexOutOfBoundsException.class, () -> {
  namesList.add(10, \"Lokesh\");
});

4.结论

ArrayList类提供了便捷的方法来在指定的索引位置添加元素。这些方法将添加新元素并将当前元素以及后续元素向右移动。

我们必须注意类型安全性和向方法提供的任何无效索引位置。否则将导致异常。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9308.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

986
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

463
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

347
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

455
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

515
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

831
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号