Rumah >Java >javaTutorial >Mengapa Saya Tidak Boleh Mengakses Kapasiti Permulaan ArrayList dalam Java?
Di Java, mencipta ArrayList dengan saiz awal adalah amalan biasa untuk mengoptimumkan prestasi. Walau bagaimanapun, adalah penting untuk memahami perbezaan antara saiz dan kapasiti apabila menggunakan kaedah add().
Soalan:
Apabila mencipta ArrayList dengan saiz awal, mengapa tidak bolehkah anda mengakses ruang yang diperuntukkan?
Jawapan:
Nilai saiz awal yang anda berikan semasa mencipta ArrayList menggunakan set ArrayList pembina<>(initialSize) kapasiti dalaman ArrayList. Saiz, sebaliknya, mewakili bilangan elemen pada masa ini dalam ArrayList.
Apabila anda menambah elemen pada ArrayList menggunakan kaedah tambah(indeks, elemen), anda menentukan kedudukan (indeks) di mana elemen akan dimasukkan. Jika anda cuba menambah elemen pada indeks yang melebihi saiz semasa ArrayList, anda akan menghadapi pengecualian di luar sempadan.
Ini kerana kaedah add() mengubah suai saiz ArrayList dengan menambah ia oleh seorang. Ia tidak menjejaskan kapasiti, yang kekal tidak berubah.
Untuk menambah berbilang elemen pada kapasiti awal ArrayList, anda boleh menggunakan gelung:
<code class="java">for (int i = 0; i < initialSize; i++) { arr.add(0); }</code>
Gelung ini menambah elemen secara berulang pada ArrayList , dengan berkesan menggunakan kapasiti awal yang anda tetapkan semasa penciptaannya. Setelah gelung selesai, anda boleh mengubah suai elemen pada indeks 0 kepada (Saiz awal - 1).
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Mengakses Kapasiti Permulaan ArrayList dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!