Java 数组和arraylist之间的存储机制?

Java 数组和arraylist之间的存储机制?,java,collections,Java,Collections,在java中,如果我们在数组和数组列表中存储4个元素,那么它在内存中的低级别是相同的,还是在存储元素时会有所不同?这将是不同的。ArrayList是一个围绕数组的包装器,包含其他几个辅助函数。ArrayList的内存占用将稍微大一点,并且它将根据需要调整自身大小。这将有所不同。ArrayList是一个围绕数组的包装器,包含其他几个辅助函数。ArrayList的内存占用将稍微大一点,它将根据需要调整自身大小。它不同,ArrayList内部管理自己的存储阵列,并具有自己的属性,ArrayList内部

在java中,如果我们在数组和数组列表中存储4个元素,那么它在内存中的低级别是相同的,还是在存储元素时会有所不同?

这将是不同的。ArrayList是一个围绕数组的包装器,包含其他几个辅助函数。ArrayList的内存占用将稍微大一点,并且它将根据需要调整自身大小。

这将有所不同。ArrayList是一个围绕数组的包装器,包含其他几个辅助函数。ArrayList的内存占用将稍微大一点,它将根据需要调整自身大小。

它不同,
ArrayList
内部管理自己的存储阵列,并具有自己的属性,
ArrayList
内部管理自己的存储阵列并具有自己的属性

阵列与列表非常不同,即使列表恰好是一个ArrayList,并且在内部仅使用一个数组

对于数组,只存在数组(在本次讨论中,我将忽略元素将占用的内存)。因此,堆中只有一个对象,即数组本身


对于ArrayList,存在ArrayList实例,该实例内部有一个数组。堆上有两个对象。此外,虽然您可以精确控制所创建数组的大小,但ArrayList所持有的数组可以具有>=元素数的任何大小数组与列表非常不同,即使该列表恰好是ArrayList并且在内部也仅使用数组

对于数组,只存在数组(在本次讨论中,我将忽略元素将占用的内存)。因此,堆中只有一个对象,即数组本身

对于ArrayList,存在ArrayList实例,该实例内部有一个数组。堆上有两个对象。此外,虽然您可以精确控制所创建数组的大小,但ArrayList所持有的数组可以具有>=元素数的任何大小