在 ArrayList 中,它基本上使用 grow 方法增长到一个新的大小:
private void grow(int minCapacity) {
...
...
elementData = Arrays.copyOf(elementData, newCapacity);
}
在 HashMap 中,它表示它将内容重新散列到一个新数组中:
Entry[] newTable = new Entry[newCapacity];
...
transfer(...)
在 arraylist 中,Arrays.copyOf
调用System.arraycopy
. 在 HashMap 中,它使用 while 循环将所有元素传输到新数组中。这两个集合之间是否有任何特别的区别,因为它们最终都会创建一个新数组?