如何填写列表清单?

时间:2017-04-17 16:40:47

标签: java arraylist

我创建了一个像这样的列表列表:

List<List> tmp = new ArrayList<List>(2);

然后我想在第一个子列表中插入10,如下所示:

tmp.get(0).add(10);

但是,我收到以下错误:

  

线程“main”中的异常java.lang.IndexOutOfBoundsException:索引:0,大小:0       at java.util.ArrayList.rangeCheck(ArrayList.java:653)       在java.util.ArrayList.get(ArrayList.java:429)

错误的来源是什么?如何克服错误?

3 个答案:

答案 0 :(得分:6)

您已创建了一个初始容量为2的空列表(即列表的内部表示不会调整大小,直到您添加了2个元素并添加第三)。

然后你尝试从空列表中获取第一个元素。当然,这不会起作用。您需要根据需要首先add()内部列表(可能是2个),然后 填充这些内部列表。

答案 1 :(得分:4)

您尚未初始化内部列表。这就是你得到错误的原因。

以下代码将初始化每个内部列表。

{{1}}

答案 2 :(得分:0)

您尚未在列表中添加任何内容。声明初始容量为2的任何类型的列表不会自动填充该列表。你必须先这样做。