ArrayList サイズの初期化の目的を理解する
Java ArrayList クラスは、作成時に初期サイズを指定できる柔軟性を提供します。ただし、割り当てられたスペースにすぐにアクセスできない場合、なぜこれが必要なのか混乱することがよくあります。この質問では、この問題を明確にするために、ArrayList のサイズと容量の区別を詳しく調べます。
初期サイズと容量
新しい ArrayList で ArrayList を初期化するとき
>(10) では、サイズを定義するのではなく、容量を定義します。容量とは、基礎となるデータ構造を再割り当てすることなく ArrayList が保持できる要素の数を指します。初期容量を設定すると、要素を追加するときに不必要な再割り当てが回避され、パフォーマンスが最適化されます。
要素の追加
想定に反して、add(intindex, Object element) ) 実際に、指定されたインデックスに要素を追加します。ただし、これには、リストに新しい要素を収容するのに十分な容量が必要です。 arr.add(5, 10) を試行すると、ArrayList にまだ要素がないため、範囲外の例外が発生し、その結果、容量が空になります。
例: 初期化と埋め込みArrayList
<code class="java">ArrayList<Integer> arr = new ArrayList<>(10); for (int i = 0; i < 10; i++) { arr.add(0); }</code>
ArrayList を容量 10 で初期化し、要素を追加するには、ループを使用できます。
これで、インデックスの要素を変更または取得できます。 0 ~ 9、定義した初期容量を利用します。要約すると、ArrayList の初期容量を設定すると、リストの増大に伴う再割り当てオーバーヘッドが回避され、パフォーマンスが最適化されます。 ArrayList の初期サイズはゼロですが、この容量により、後続の要素を効率的に収容するのに十分なスペースが確保されます。以上が割り当てられた領域にすぐにアクセスできない場合、ArrayList サイズの初期化が重要になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。