Kelas TreeSet Java: Panduan untuk Pemula

Pengenalan

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

Java - TreeSet

Bayangkan anda sedang mengurus rak buku. Anda mahu menjaga buku anda dalam susunan tertentu, mungkin secara abjad mengikut judul. Itulah yang dilakukan TreeSet untuk data di Java – ia menjaga hal-hal dalam susunan dan diurutkan secara automatik. Keren, kan?

Pengisytiharan Kelas

Mari kita mulakan dengan asas. Dalam Java, TreeSet diisytiharkan seperti ini:

import java.util.TreeSet;

TreeSet<E> treeSet = new TreeSet<E>();

Di sini, 'E' adalah rakam bagi jenis elemen yang anda mahu simpan. Ia boleh jadi Integer, String, atau jenis objek lain. Contohnya:

TreeSet<String> bookTitles = new TreeSet<String>();

Ini membuat TreeSet yang akan menyimpan judul buku sebagai rakam.

Parameter

TreeSet tidak mempunyai parameter sendiri, tetapi ia melaksanakan antara muka NavigableSet, yang mengembangkan SortedSet. Ini bermakna ia mewarisi tingkah laku tertentu yang membolehkan navigasi dan pengurutan yang efisien.

Konstruktor Kelas

TreeSet datang dengan beberapa konstruktor. Mari kita lihat yang paling umum:

  1. Konstruktor lalai:

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

    Ini membuat TreeSet kosong yang akan mengurutkan elemen mengikut susunannya semula jadi.

  2. Konstruktor dengan Comparator:

    TreeSet<String> set2 = new TreeSet<String>(Comparator.reverseOrder());

    Ini membuat TreeSet yang akan mengurutkan elemen menggunakan Comparator yang dinyatakan.

  3. Konstruktor dengan Koleksi:

    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers.add(5);
    numbers.add(2);
    numbers.add(8);
    TreeSet<Integer> set3 = new TreeSet<Integer>(numbers);

    Ini membuat TreeSet yang mengandungi semua elemen dari Koleksi yang diberikan.

Metod Kelas

TreeSet menyediakan pelbagai metod yang berguna. Berikut adalah jadual beberapa metod utama:

Metod Keterangan
add(E element) Menambahkan elemen yang dinyatakan ke atas
clear() Menghapuskan semua elemen dari atas
contains(Object o) Mengembalikan nilai benar jika atas mengandungi elemen yang dinyatakan
first() Mengembalikan elemen pertama (termurah) di atas
last() Mengembalikan elemen terakhir (termah) di atas
remove(Object o) Menghapuskan elemen yang dinyatakan dari atas
size() Mengembalikan jumlah elemen di atas

Metod Yang Diwarisi

TreeSet mewarisi metod dari beberapa antara muka dan kelas, termasuk AbstractSet, NavigableSet, dan SortedSet. Ini memberikan ia set fungsi yang kaya untuk bekerja dengan data yang diurutkan.

Contoh Penambahan Catatan ke TreeSet

Mari kita tempatkan pengetahuan kita dalam praktik dengan contoh yang menarik. Kita akan membuat TreeSet untuk menguruskan senarai superhero mengikut tingkat kekuatan mereka:

import java.util.TreeSet;

public class SuperheroPowerRanking {
public static void main(String[] args) {
TreeSet<String> heroes = new TreeSet<String>();

// Menambahkan superhero ke TreeSet kita
heroes.add("Superman: 100");
heroes.add("Batman: 90");
heroes.add("Wonder Woman: 95");
heroes.add("Flash: 85");
heroes.add("Aquaman: 80");

System.out.println("Superhero yang diperingkatkan mengikut kekuatan:");
for (String hero : heroes) {
System.out.println(hero);
}

System.out.println("\nSuperhero paling berkuasa: " + heroes.last());
System.out.println("Superhero paling kurang berkuasa: " + heroes.first());
}
}

Output

Apabila kita menjalankan kod ini, ini adalah yang kita dapatkan:

Superhero yang diperingkatkan mengikut kekuatan:
Aquaman: 80
Batman: 90
Flash: 85
Superman: 100
Wonder Woman: 95

Superhero paling berkuasa: Wonder Woman: 95
Superhero paling kurang berkuasa: Aquaman: 80

Mari kita kongsi apa yang terjadi di sini:

  1. Kita membuat TreeSet yang dipanggil 'heroes' untuk menyimpan penilaian kekuatan superhero kita.
  2. Kita menambahkan superhero ke atas menggunakan metod add().
  3. TreeSet secara automatik mengurutkan catatan secara abjad (kerana kita menggunakan Rakam).
  4. Kita menggunakan rakaman untuk setiap untuk mencetak semua superhero dalam susunan yang diurutkan.
  5. Kita menggunakan last() untuk mendapatkan superhero terakhir (secara abjad), dan first() untuk mendapatkan yang pertama.

Notice bagaimana superhero diurutkan secara abjad mengikut nama mereka, bukannya tingkat kekuatan mereka. Jika kita mahu mengurutkan mengikut tingkat kekuatan, kita perlu menggunakan Comparator khas – tapi itu adalah pelajaran untuk hari lain!

Dalam kesimpulan, TreeSet adalah alat yang kuat untuk menjaga data diurutkan di Java. Apakah anda sedang mengperingkatkan superhero, menguruskan koleksi buku, atau menguruskan jenis data lain yang perlu tetap dalam susunan, TreeSet akan membantu anda.

Ingat, latihan membuat anda sempurna. Cuba untuk membuat TreeSet anda sendiri dengan jenis data yang berbeza. Mungkin peringkatkan filem kesukaan anda, atau urutkan senarai tarikh lahir rakan-rakan anda. Semakin banyak anda mainkan dengannya, semakin selesa anda akan menjadi. Happy coding, pemimpin Java masa depan!

Credits: Image by storyset