我创建一个这样的列表列表:
List<List> tmp = new ArrayList<List>(2);
然后,我想在第一个子列表中插入10,如下所示:
tmp.get(0).add(10);
但是,出现以下错误:
线程“主”中的异常java.lang.IndexOutOfBoundsException:Index:0,Size:0 at java.util.ArrayList.rangeCheck(ArrayList.java:653)at java.util.ArrayList.get(ArrayList.java:429)
错误的根源是什么,我该如何克服?
您已经创建了一个初始容量为2()的空列表(即,在向列表中添加2个元素并添加第三个元素之前,列表的内部表示不会调整大小)。
2
然后,您尝试从空列表中获取第一个元素。自然这是行不通的。您需要先add()根据需要添加尽可能多的内部列表(大概2个), 然后再 填充这些内部列表。
add()