Kelas Java LinkedHashSet: Panduan Ramah untuk Pemula

Pengenalan

Helo di sana, penyihir Java masa depan! Hari ini, kita akan melakukan perjalanan yang menarik ke dunia Java LinkedHashSet. Jangan khawatir jika anda belum pernah menulis satu baris kod sebelum ini – saya akan menjadi pemandu ramah anda, dan kita akan menjelajahi topik ini bersama-sama, langkah demi langkah.

Java - LinkedHashSet

Bayangkan anda sedang mengutip rakaman unik untuk album anda, tetapi anda ingin untuk mengingati urutan yang anda dapati mereka. Itu hampir seperti apa yang LinkedHashSet lakukan di Java – ia adalah sebuah kumpulan yang menyimpan elemen unik (seperti rakaman anda) dan mengingati urutan anda menambahkannya. Keren, kan?

Mari kita melompat kedalam dan lihat bagaimana kumpulan magis ini bekerja!

Pengisytiharan Kelas

Di Java, LinkedHashSet adalah sebahagian dari paket java.util. Untuk menggunakannya, kita perlu untuk mengimportnya terlebih dahulu. Ini cara kita melakukannya:

import java.util.LinkedHashSet;

Sekarang, mari kita cipta LinkedHashSet pertama kita:

LinkedHashSet<String> rakamanSaya = new LinkedHashSet<>();

Dalam contoh ini, kita telah mencipta satu LinkedHashSet yang akan menyimpan objek String. Bahagian memberitahu Java jenis elemen yang set kita akan mengandungi. Anda boleh mengganti String dengan jenis lain, seperti Integer atau bahkan kelas自定义 anda!

Parameter

LinkedHashSet tidak mempunyai parameter khusus atas nama sendiri, tetapi ia mewarisi beberapa dari kelas induknya. Yang paling penting adalah:

  1. initialCapacity: Kapasiti awal LinkedHashSet.
  2. loadFactor: ukuran berapa penuh LinkedHashSet boleh menjadi sebelum ia diubah ukurannya.

Jangan risau terlalu banyak tentang ini untuk masa ini. Java mengatur nilai lalai yang baik, jadi anda tidak perlu untuk menentukan mereka kecuali anda melakukan sesuatu yang sangat khusus.

Konstruktor Kelas

LinkedHashSet menyediakan beberapa konstruktor. Mari kita lihat yang paling umum:

  1. Konstruktor lalai:

    LinkedHashSet<String> set1 = new LinkedHashSet<>();

    Ini mencipta satu LinkedHashSet kosong dengan kapasiti awal lalai (16) dan faktor beban (0.75).

  2. Konstruktor dengan kapasiti awal:

    LinkedHashSet<String> set2 = new LinkedHashSet<>(20);

    Ini mencipta satu LinkedHashSet kosong dengan kapasiti awal 20.

  3. Konstruktor dengan kumpulan lain:

    ArrayList<String> list = new ArrayList<>();
    list.add("Merah");
    list.add("Biru");
    LinkedHashSet<String> set3 = new LinkedHashSet<>(list);

    Ini mencipta satu LinkedHashSet yang mengandungi semua elemen dari kumpulan yang diberikan (list dalam kasus ini).

Method Kelas

Sekarang, mari kita lihat beberapa method yang paling berguna dari LinkedHashSet. Saya akan menyajikannya dalam satu jadual untuk rujukan mudah:

Method Keterangan
add(E e) Menambahkan elemen yang dinyatakan ke set jika ia belum hadir
remove(Object o) Menghapus elemen yang dinyatakan dari set jika hadir
contains(Object o) Kembali true jika set mengandungi elemen yang dinyatakan
size() Kembali jumlah elemen di dalam set
clear() Menghapus semua elemen dari set
isEmpty() Kembali true jika set tidak mengandungi elemen

Mari lihat method ini dalam aksi:

LinkedHashSet<String> warna = new LinkedHashSet<>();

// Menambahkan elemen
warna.add("Merah");
warna.add("Hijau");
warna.add("Biru");
System.out.println("Warna: " + warna);  // Output: Warna: [Merah, Hijau, Biru]

// Menambahkan rakaman (tidak akan ditambahkan)
warna.add("Merah");
System.out.println("Warna setelah menambah rakaman: " + warna);  // Output: Warna setelah menambah rakaman: [Merah, Hijau, Biru]

// Memeriksa jika elemen hadir
System.out.println("Mengandungi Kuning? " + warna.contains("Kuning"));  // Output: Mengandungi Kuning? false

// Menghapus elemen
warna.remove("Hijau");
System.out.println("Warna setelah menghapus Hijau: " + warna);  // Output: Warna setelah menghapus Hijau: [Merah, Biru]

// Mendapatkan ukuran
System.out.println("Jumlah warna: " + warna.size());  // Output: Jumlah warna: 2

// Memeriksa jika set kosong
System.out.println("Adakah set kosong? " + warna.isEmpty());  // Output: Adakah set kosong? false

// Membersihkan set
warna.clear();
System.out.println("Warna setelah membersihkan: " + warna);  // Output: Warna setelah membersihkan: []

Mendapatkan Spliterator() untuk Menggunakan Entri LinkedHashSet Contoh

Sekarang, mari kita lihat fitur yang lebih maju: Spliterator. Ia seperti iterator yang super berdaya yang boleh digunakan untuk pemrosesan paralel. Jangan risau jika itu terdengar rumit – kita akan menjaga hal ini mudah!

Berikut adalah contoh cara menggunakan Spliterator dengan LinkedHashSet:

LinkedHashSet<String> buah = new LinkedHashSet<>();
buah.add("Apel");
buah.add("Pisang");
buah.add("Ceri");
buah.add("Kurma");

Spliterator<String> spliterator = buah.spliterator();

// Menggunakan Spliterator untuk mencetak elemen
spliterator.forEachRemaining(buah -> System.out.println("Buah: " + buah));

Kod ini akan menghasilkan output:

Buah: Apel
Buah: Pisang
Buah: Ceri
Buah: Kurma

Method spliterator() mengembalikan satu Spliterator, yang kita dapat gunakan untuk mengiterasi atas LinkedHashSet kita. Method forEachRemaining() menerapkan tindakan yang diberikan kepada setiap elemen. Dalam kasus ini, kita mencetak setiap buah.

Dan itu adalah! Anda baru saja belajar dasar-dasar Java's LinkedHashSet. Ingat, praktek membuat perfect, jadi jangan takut untuk bereksperimen dengan konsep ini. Cobalah untuk mencipta LinkedHashSet anda sendiri dan main-main dengan methodnya. Sebelum anda tahu, anda akan menjadi seorang master LinkedHashSet!

Happy coding, bintang Java masa depan! ?

Credits: Image by storyset