ほんの 5 分前に、私はそのArrayList
仕組みを知りました。elementData
特定のタイプの配列であるフィールドがあり、要素を追加して配列elementData
がいっぱいになると、コレクションは内部的に次の式で別の配列を作成します。
(oldCapacity * 3) / 2 + 1
そして、古い配列から新しい配列にデータをコピーします。私はちょうど疑問に思っています、それはなぜですか?なぜ最後のサイズを2倍にしないのですか?この数式を記述して、ArrayList コレクションの内部表現に関するより理論的な情報をどこで入手できますか。PS私の母国語ではない英語で申し訳ありません。