You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从二维ArrayList中移除元素的代码实现是否正确?

问题分析与解答

嘿,我来帮你梳理这个二维ArrayList的移除问题哈~

首先得明确两个核心关键点:

  • 代码的初始化缺失:你给出的示例代码只是创建了一个空的二维ArrayList,并没有把你提到的初始内容[[Hi], [Bye], [How], [Good]]添加进去。如果直接调用List.remove(1),会立刻抛出IndexOutOfBoundsException,因为空列表根本没有索引1的元素。
  • remove方法的索引逻辑:假设你已经正确初始化了这个二维ArrayList(把初始元素都添加进去了),remove(int index)方法是移除对应索引位置的元素:
    • 你调用remove(1),会移除索引为1的元素也就是[Bye],执行后列表内容会变成[[Hi], [How], [Good]],这和你预期的结果不符。
    • 如果你想得到预期的[[Bye], [How], [Good]],其实是要移除第一个元素(索引为0的[Hi]),应该调用list.remove(0)。

另外提个小规范:Java里变量名建议用小驼峰命名,比如list而不是List,避免和ArrayList的父类List类名混淆。这里给你补全正确的初始化+移除示例代码:

// 正确初始化二维ArrayList
ArrayList<ArrayList<String>> list = new ArrayList<>();
list.add(new ArrayList<>(List.of("Hi")));
list.add(new ArrayList<>(List.of("Bye")));
list.add(new ArrayList<>(List.of("How")));
list.add(new ArrayList<>(List.of("Good")));

// 移除第一个元素(索引0),得到预期结果
list.remove(0);

// 此时list的内容为 [[Bye], [How], [Good]]

内容的提问来源于stack exchange,提问作者Jason Gao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:09:58