Java ArrayList: Gateway Anda untuk Koleksi Dinamik

Pengenalan

Halo di sana, pemain masa depan Java! Hari ini, kita akan menyelam ke salah satu alat paling berguna dan serba guna di Java: ArrayList. Bayangkan anda sedang mengorganisir sebuah pesta, dan anda tidak pasti berapa banyak teman yang akan datang. Anda boleh menata beberapa rak, tetapi apa jika lebih banyak orang datang? Atau yang lebih buruk, apa jika setengah rak masih kosong? Itulah di mana ArrayList menjadi sangat berguna di dunia pemrograman – seperti memiliki sebuah daftar tamu yang berubah ukuran atau mengecilkan seperti yang diperlukan!

Java - ArrayList

Pengisytiharan Kelas

Mari kita mulakan dengan asas. Dalam Java, ArrayList adalah sebahagian daripada pakej java.util. Untuk menggunakannya, anda perlu untuk mengimport seperti berikut:

import java.util.ArrayList;

Kelas ArrayList diisytiharkan seperti berikut:

public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable

Jangan khawatir jika ini terlihat menakutkan – kita akan pecahkan ia langkah demi langkah!

Apakah Yang Ini Berarti?

  • <E>: Ini adalah parameter jenis. Ini bermakna ArrayList boleh memegang jenis objek apa pun. Ia seperti berkata, "This ArrayList boleh memegang benda-benda, dan kita akan menentukan jenis benda-benda itu kemudian."
  • extends AbstractList<E>: ArrayList adalah membangun atas kelas lain yang dipanggil AbstractList.
  • implements List<E>, RandomAccess, Cloneable, Serializable: Ini adalah antara muka yang ArrayList melaksanakan, memberikan ia keupayaan tertentu.

Konstruktor Kelas

Apabila anda membuat sebuah ArrayList, anda ada tiga pilihan:

  1. Buat sebuah ArrayList kosong:

    ArrayList<String> friendsList = new ArrayList<>();
  2. Buat sebuah ArrayList dengan kapasiti awal:

    ArrayList<Integer> numbers = new ArrayList<>(20);
  3. Buat sebuah ArrayList dari koleksi lain:

    ArrayList<Double> scores = new ArrayList<>(existingList);

Dalam contoh pertama, bayangkan anda mula dengan sebuah senarai rakan baru. Dalam yang kedua, anda membuat senarai angka 20. Yang ketiga adalah seperti menyalin sebuah daftar tamu yang ada untuk mula satu baru.

Method Kelas

ArrayList datang dengan rak penyimpanan penuh dengan method yang berguna. Mari kita lihat beberapa yang paling umum:

Method Keterangan
add(E element) Menambah elemen di akhir senarai
add(int index, E element) Menambah elemen di posisi yang dinyatakan
get(int index) Mengembalikan elemen di posisi yang dinyatakan
set(int index, E element) Mengganti elemen di posisi yang dinyatakan
remove(int index) Menghapus elemen di posisi yang dinyatakan
size() Mengembalikan jumlah elemen di senarai
clear() Menghapus semua elemen dari senarai
contains(Object o) Mengembalikan benar jika senarai mengandungi elemen yang dinyatakan

Method ini seperti trick pesta yang berbeda – menambah tetamu, memeriksa siapa yang hadir, atau meminta seseorang untuk meninggalkan (dengan sopan, tentu saja!).

Method Waris

ArrayList juga warisi method dari kelas induk dan antara muka mereka. Beberapa yang kena mengena termasuk:

  • Dari AbstractList: iterator(), listIterator()
  • Dari AbstractCollection: toString(), isEmpty()
  • Dari Object: clone(), equals(), hashCode()

Pikirkan ini sebagai fitur bonus yang datang dengan ArrayList anda!

contoh Menambah, Menghapus Elemen kepada ArrayList Nama-Nama String

Mari kita tempatkan pengetahuan kita dalam praktek dengan contoh dunia sebenar. Kita akan membuat sebuah ArrayList untuk menguruskan senarai bacaan:

import java.util.ArrayList;

public class ReadingList {
public static void main(String[] args) {
// Buat sebuah ArrayList untuk menyimpan tajuk buku
ArrayList<String> bookList = new ArrayList<>();

// Menambah buku ke senarai
bookList.add("To Kill a Mockingbird");
bookList.add("1984");
bookList.add("The Great Gatsby");

System.out.println("Senarai bacaan awal: " + bookList);

// Menambah sebuah buku di posisi tertentu
bookList.add(1, "Pride and Prejudice");

System.out.println("Setelah menambah buku baru: " + bookList);

// Menghapus sebuah buku
bookList.remove("1984");

System.out.println("Setelah menghapus buku: " + bookList);

// Memeriksa jika sebuah buku di senarai
String searchBook = "The Great Gatsby";
if (bookList.contains(searchBook)) {
System.out.println(searchBook + " adalah di senarai bacaan anda!");
} else {
System.out.println(searchBook + " bukan di senarai bacaan anda.");
}

// Mendapatkan ukuran senarai
System.out.println("Anda ada " + bookList.size() + " buku di senarai bacaan anda.");
}
}

Mari Kita Pecahkan:

  1. Kita mula dengan membuat sebuah ArrayList dipanggil bookList untuk menyimpan objek String (tajuk buku).
  2. Kita menambah tiga buku menggunakan method add().
  3. Kita cetak senarai awal menggunakan System.out.println(). Method toString() ArrayList secara automatik dipanggil di sini.
  4. Kita menambah "Pride and Prejudice" di indeks 1 (posisi kedua) menggunakan add(int index, E element).
  5. Kita menghapus "1984" menggunakan method remove().
  6. Kita gunakan contains() untuk memeriksa jika "The Great Gatsby" adalah di senarai kita.
  7. Akhirnya, kita gunakan size() untuk mendapatkan jumlah buku di senarai kita.

Output

Apabila anda menjalankan program ini, anda akan lihat seperti berikut:

Senarai bacaan awal: [To Kill a Mockingbird, 1984, The Great Gatsby]
Setelah menambah buku baru: [To Kill a Mockingbird, Pride and Prejudice, 1984, The Great Gatsby]
Setelah menghapus buku: [To Kill a Mockingbird, Pride and Prejudice, The Great Gatsby]
The Great Gatsby adalah di senarai bacaan anda!
Anda ada 3 buku di senarai bacaan anda.

Dan itu adalah! Anda baru saja membuat, memanipulasi, dan menjelajahi sebuah ArrayList. Ia seperti anda telah mengorganisir sebuah pesta buku, menambah judul baru, menghapus yang telah selesai, dan menguruskan petualangan bacaan anda.

Ingat, ArrayList adalah sangat fleksibel. Anda boleh menggunakannya untuk menguruskan senarai apa pun – angka, objek yang diubah suai, atau bahkan ArrayList lain! Apabila anda teruskan perjalanan Java anda, anda akanjumpa ArrayList menjadi salah satu alat terpercaya di rak penyimpanan pemrograman anda.

Jadi, teruskan untuk berlatih, teruskan untuk mengkod, dan yang paling penting, teruskan untuk bersenang-senang dengan Java! Siapa tahu? Mungkin projek besar anda berikutnya akan menggunakan ArrayList untuk mengubah dunia – satu senarai dinamik pada satu masa!

Credits: Image by storyset