ArrayList如何工作?

2022-09-01 02:19:29

ArrayList 在内部使用什么数据结构?


答案 1

在内部,使用 .ArrayListObject[]

当您向 添加项目时,列表会检查后备数组是否还有剩余空间。如果有空间,则新项目将添加到下一个空白处。如果没有空间,则会创建一个更大的新阵列,并将旧阵列复制到新阵列中。ArrayList

现在,还剩下更多空间,新元素将添加到下一个空白空间中。

由于人们真的很喜欢源代码:

/**
 * The array buffer into which the elements of the ArrayList are stored.
 * The capacity of the ArrayList is the length of this array buffer.
 */
private transient Object[] elementData;

直接来自JDK。


答案 2

它使用 一个 ,并在数组满时生成一个更大的数组。Object[]

您可以在此处阅读源代码


推荐