【问题标题】:java.lang.IndexOutOfBoundsException: Index: 264java.lang.IndexOutOfBoundsException:索引:264
【发布时间】:2013-02-03 18:08:41
【问题描述】:

错误:

java.lang.IndexOutOfBoundsException: Index: 264, Size: 0
    at java.util.ArrayList.rangeCheckForAdd(Unknown Source)
    at java.util.ArrayList.add(Unknown Source)

我的代码:

import java.util.ArrayList
...
private static ArrayList<String[]> Arr = new ArrayList<String[]>();
...
Arr.add(264, new String[] {"title","description","icon"});
Arr.add(268, new String[] {"title2","description2","icon2"});
Arr.add(1222, new String[] {"title3","description3","icon3"});

我需要添加另一个带有自己键的字符串数组

【问题讨论】:

  • 问题是什么?为什么会这样?如何解决?设计问题?
  • 如果你想对 String[] 做一个稀疏的 Integer,你可以考虑使用 Map 而不是 List ?
  • 是的,如果使用私有静态 HashMap arr = new HashMap();没关系! :)

标签: java multidimensional-array arraylist


【解决方案1】:

除非列表至少已经那么大,否则您不能添加特定索引。

这一行:

Arr.add(264, new String[] {"title","description","icon"});

仅当列表已包含至少 264 个元素时才有效(如 javadoc clearly states,如果您决定阅读它)。

【讨论】:

  • 如何创建没有 1、2、3 但例如 22、55、784 的数组自键
  • @PaterSVK - 如果您想使用任意键,您可能应该使用 Map。
猜你喜欢
  • 2013-12-21
  • 2017-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-29
相关资源
最近更新 更多