实例化ArrayLists的ArrayList

sho*_*ham 2 java arraylist

我想实例化ArrayLists的ArrayList(泛型类型).我有这个代码:

private ArrayList<ArrayList<GameObject>> toDoFlags;
toDoFlags = new ArrayList<ArrayList<GameObject>>(2);
Run Code Online (Sandbox Code Playgroud)

我这样做了吗?它编译,但是当我查看ArrayList时,它的大小为0.

ktm*_*124 6

你说得对.它长度为零的原因是因为你还没有添加任何东西.

您传递的"2"是支持ArrayList的数组的初始容量.但是该size()方法ArrayList不返回其后备数组的初始容量...它返回列表中实际元素的数量.

通常,您不应该使用该initialCapacity参数.当你有大型ArrayLists时,这是一个性能优化.通过明确分配大量空间,可以节省在向列表中添加越来越多项目时重新分配所需的时间.但在这种情况下,你可能没有一个非常大的列表.

此外,您应该考虑编写一个类来存储数据,而不是使用ArrayLists的ArrayList.