Java 实例化ArrayList中的ArrayList
我想实例化(泛型类型)ArrayList的ArrayList。我有以下代码:Java 实例化ArrayList中的ArrayList,java,arraylist,Java,Arraylist,我想实例化(泛型类型)ArrayList的ArrayList。我有以下代码: private ArrayList<ArrayList<GameObject>> toDoFlags; toDoFlags = new ArrayList<ArrayList<GameObject>>(2); private ArrayList toDoFlags; toDoFlags=新阵列列表(2); 我这样做对吗?它可以编译,但当我查看ArrayList时,它的
private ArrayList<ArrayList<GameObject>> toDoFlags;
toDoFlags = new ArrayList<ArrayList<GameObject>>(2);
private ArrayList toDoFlags;
toDoFlags=新阵列列表(2);
我这样做对吗?它可以编译,但当我查看ArrayList时,它的大小是0。你做得对。它的长度为零的原因是您尚未向它添加任何内容 传递的“2”是支持ArrayList的数组的初始容量。但是
ArrayList
的size()
方法不会返回其备份数组的初始容量。。。它返回列表中实际元素的数量
通常,您不应该使用initialCapacity
参数。当您拥有大型阵列列表时,这是一种性能优化。通过显式分配大量空间,可以节省在向列表中添加越来越多的项目时重新分配所需的时间。但在这种情况下,您可能没有一个非常大的列表
此外,不要使用数组列表的数组,你应该考虑编写一个类来存储你的数据。
AARYLIST在你添加到它们时展开。integer capacity参数只设置支持数组的初始大小。将容量设置为2并不意味着ArrayList中有两个元素,而是意味着可以在ArrayList声明更大的内部数组之前将两个元素添加到ArrayList。
要添加到这一点,末尾的(2)只为列表中的两个对象分配空间。我想这就是混乱的根源。