1. Menambahkan elemen ke tengah (atau di awal) daftar
Jika kita ingin menyisipkan elemen di tengah daftar, inilah yang terjadi di dalam daftar.
Misalkan kita memiliki daftar 11 elemen:
Kami ingin memasukkan angka 10.000 ke dalam daftar di indeks 5. Untuk melakukannya, kami hanya perlu menjalankan:
list.add(5, 10000);
Dimana list
sebuah ArrayList
variabel. Metode add(int index, type value)
menambahkan nilai 10000 pada posisi 5 dalam daftar. Inilah yang terjadi dalam add()
metode ini:
Langkah 1: Semua elemen array, mulai dari posisi ke-5, akan digeser (disalin) oleh 1 elemen ke arah akhir array:
Perhatikan bahwa elemen di sel ke-5 dan ke-6 dari array sekarang sama.
Langkah 2: Tulis nilai 10.000 ke dalam sel ke-5:
Sekarang daftar berisi semua elemen array, dan sel kelima berisi angka 10.000. Hanya apa yang kami inginkan.
2. Menghapus elemen dari daftar
Menghapus elemen dari daftar mirip dengan memasukkannya, tetapi prosesnya dibalik.
Mari hapus elemen ke-3 dari daftar. Untuk melakukan ini, kita perlu mengeksekusi:
list.remove(3);
Inilah yang terjadi dalam metode remove() :
Langkah 1: Elemen-elemen array, mulai dari posisi ke-4, akan digeser (disalin) oleh 1 elemen ke awal array:
Langkah 2: Nilai variabel size
akan dikurangi 1.
Harap perhatikan ada beberapa nilai berwarna abu-abu di akhir larik. Secara teknis, ini adalah sampah. Mereka perlu disingkirkan agar tidak mengganggu pengumpulan sampah .
Langkah 3: Membersihkan sampah
3. Contoh praktis bekerja dengan daftar di Jawa
Mari tulis beberapa contoh bekerja dengan daftar:
Kami akan mencantumkan semua angka genap dalam rentang dari 1 hingga 20:
Kode | Catatan |
---|---|
|
Buat objek daftar Ulangi semua indeks 1 ke 20 Jika indeks habis dibagi 2 tanpa sisa, tambahkan ke daftar |
Sekarang mari tampilkan semua elemen daftar di layar:
Kode | Catatan |
---|---|
|
Buat objek daftar Ulangi semua indeks 1 ke 20 Jika bilangan habis dibagi 2 tanpa sisa, tambahkan ke daftar Ulangi dari nol hingga ukuran daftar Tampilkan setiap elemen di layar |
Menghapus elemen:
Sekarang mari kita hapus semua elemen yang habis dibagi 4. Perhatikan bahwa setelah menghapus elemen dari daftar, posisi elemen yang tersisa segera berubah.
Kode | Catatan |
---|---|
|
Buat objek daftar Ulangi semua indeks 1 ke 20 Jika indeks habis dibagi 2 tanpa sisa, tambahkan ke daftar Ulangi dari nol ke ukuran daftar Jika elemen daftar habis dibagi 4 tanpa sisa: a) hapus elemen b) kurangi i penghitung sehingga kami mendapatkan indeks yang sama pada iterasi berikutnya dari loop |
Katakanlah Anda perlu menghapus 3 elemen terakhir dari daftar.
Inilah cara melakukannya dengan tidak benar:
Kode | Catatan |
---|---|
|
Buat objek daftar Daftar memiliki 10 elemen: 2 , 4 , 6 , ... 20 n = 10 n - 3 = 7 (ada 9 elemen tersisa dalam daftar) n - 2 = 8 (ada 8 elemen tersisa dalam daftar) n - 1 = 9 (ada 7 elemen tersisa dalam daftar) |
Setelah menghapus elemen ke-7 dan ke-8, hanya 8 elemen yang tersisa dalam daftar. Itu berarti tidak mungkin untuk menghapus elemen ke-9 — kesalahan akan terjadi pada program.
Inilah cara yang tepat untuk menghapus elemen:
Pilihan 1 | pilihan 2 |
---|---|
|
|
Elemen harus dihapus baik dari ujung atau dari lokasi lain yang konsisten, karena elemen digeser satu per satu setelah setiap operasi penghapusan.
GO TO FULL VERSION