【问题标题】:How to add an index of an ArrayList to the same Arraylist Java如何将 ArrayList 的索引添加到同一个 Arraylist Java
【发布时间】:2015-12-27 09:24:41
【问题描述】:

我想将二维 ArrayList 的索引添加到同一个 ArrayList。 代码应如下所示,但必须涉及索引号和相同的 ArrayList:

ArrayList<String> a[0] = new ArrayList<>(Arrays.asList("A", "B", "C"));
ArrayList<String> a[1] = a[0];

当然,这段代码是行不通的。 提前谢谢你...

【问题讨论】:

  • 发布您想要的输出示例。
  • a(0) = A, B, C --- a(1) = A, B, C 必须通过索引号或类似来完成

标签: java android arraylist


【解决方案1】:

a[i] 用于访问和分配数组元素。

假设 a 被声明为:

ArrayList<ArrayList<String>> a = new ArrayList<>();

您使用 :

分配内部列表
a.set(0,new ArrayList<String>(Arrays.asList("A", "B", "C"));
a.set(1,a.get(0));

请注意,此代码仅在 a 的大小至少为 2 时才有效(即它已经具有索引 0 和 1 的值)。如果a 为空,则应使用:

a.add (new ArrayList<String>(Arrays.asList("A", "B", "C"));
a.add (a.get(0));

【讨论】:

  • ArrayList 由数组支持,当您使用 new ArrayList&lt;&gt;() 实例化时,它会创建一个大小为 0 的数组,当您使用索引进行设置时,它会给您 IOOBE。
  • @SMA 是的。这就是为什么我给出了两个选择。第一个选项仅在 ArrayList 已包含 0 和 1 索引处的元素时才有效。
  • @Otag a.get(1).get(2)
  • 在我的调试工作中,调试器给出了 a.add(a.get(donsay - 1));以下异常=> java.lang.RuntimeException:无法启动活动ComponentInfo {chessactivesekizsatirvetekliarray.com.sekizsatirvetekliarray/chessactivesekizsatirvetekliarray.com.sekizsatirvetekliarray.MainActivity}:java.lang.IndexOutOfBoundsException:无效索引1,大小为1 donsay 是用于循环目的的整数变量...关于发生了什么的任何想法??
  • @Otag 这意味着 a 只包含一个元素,其索引为 0,但您正在尝试访问索引为 1 的元素。
猜你喜欢
  • 1970-01-01
  • 2013-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-11
  • 1970-01-01
  • 2013-05-03
相关资源
最近更新 更多