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 ループを使用してすべての要素を新しい配列に転送します。どちらも最終的に新しい配列を作成するため、これら 2 つのコレクションの間に特定の違いはありますか?