Java TreeMap: Panduan Ramah Anda untuk Data yang Teratur

Pengenalan

Halo kepada semua pelajar Java yang bakal! Hari ini, kita akan memulakan perjalanan yang menarik ke atas dunia TreeMap. Jangan ketinggalan oleh nama itu – TreeMap tidak sekompleks seperti yang terdengar. Bayangkan seperti rak buku yang sangat teratur di mana segalanya diatur mengikut abjad. Bunyi mudah untuk digunakan, kan?

Java - TreeMap

Apabila saya pertama kali mengenal TreeMap, saya membayangkan rak buku yang betul-betul dengan peta-hang di atas rak rak pohon. Silly, saya tahu! Tetapi gambar itu membantu saya untuk mengingati strukturnya. Pada kenyataannya, TreeMap di Java adalah alat yang kuat yang secara automatik menguruskan data anda. Ia seperti memiliki pustakawan pribadi untuk kod anda!

Pengisytiharan Kelas

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

import java.util.TreeMap;

public class MyClass {
public static void main(String[] args) {
TreeMap<String, Integer> myTreeMap = new TreeMap<>();
}
}

Jangan khawatir jika ini terlihat seperti rakaman yang tidak jelas sekarang. Kita akan pecahkan ia satu per satu. Bahagian <String, Integer> memberitahu Java bahawa kita mahu untuk menyimpan rentetan sebagai kunci dan integer sebagai nilai. Ia seperti mengatakan, "Saya mahu rak buku di mana judul buku (rentetan) dikaitkan dengan nombor halaman mereka (integer)."

Parameter

TreeMap bekerja dengan pasangan kunci-nilai. Kunci digunakan untuk mencari nilai, seperti bagaimana anda menggunakan judul buku untuk mencari kandungannya. Dalam TreeMap kita:

  • K: Ini adalah jenis kunci (dalam contoh kita, adalah String)
  • V: Ini adalah jenis nilai (dalam contoh kita, adalah Integer)

Konstruktor Kelas

TreeMap datang dengan beberapa konstruktor. Bayangkan konstruktor sebagai cara yang berbeza untuk membina rak buku anda. Ini adalah beberapa yang utama:

TreeMap<String, Integer> map1 = new TreeMap<>(); // TreeMap kosong
TreeMap<String, Integer> map2 = new TreeMap<>(anotherMap); // TreeMap dengan elemen dari peta lain
TreeMap<String, Integer> map3 = new TreeMap<>(comparator); // TreeMap dengan cara penyusunan khas

Yang pertama membuat TreeMap kosong. Yang kedua menyalin elemen dari peta lain. Yang ketiga membolehkan anda untuk menentukan cara penyusunan khas.

Method Kelas

TreeMap datang dengan rak penyediaan penuh dengan method yang berguna. Ini adalah rak some method yang penting:

Method Keterangan
put(K key, V value) Menambah pasangan kunci-nilai ke peta
get(Object key) Mengambil nilai yang dikaitkan dengan kunci yang dinyatakan
remove(Object key) Menghapus pemetaan untuk kunci yang dinyatakan
clear() Menghapus semua pemetaan dari peta
size() Kembali jumlah pemetaan kunci-nilai di peta
isEmpty() Kembali benar jika peta tidak mengandungi pemetaan kunci-nilai
containsKey(Object key) Kembali benar jika peta mengandungi kunci yang dinyatakan
containsValue(Object value) Kembali benar jika peta mengandungi nilai yang dinyatakan

Method Waris

TreeMap juga warisi method dari kelas induknya. Ia seperti waris resepi rahsia nenek anda – anda mendapat extra hadiah tanpa kerja tambahan! Beberapa method waris termasuk:

  • Dari antaraface Map: equals(), hashCode(), putAll()
  • Dari AbstractMap: toString(), clone()

contoh Menambah dan Mendapatkan Nilai dari TreeMap

Sekarang, mari kita tempatkan pengetahuan kita dalam praktik dengan contoh yang menyenangkan. Bayangkan kita membuat rak buah digital di mana kita simpan buah dan kuantiti mereka:

import java.util.TreeMap;

public class FruitBasket {
public static void main(String[] args) {
// Buat TreeMap rak buah kita
TreeMap<String, Integer> fruitBasket = new TreeMap<>();

// Tambah beberapa buah
fruitBasket.put("Apple", 5);
fruitBasket.put("Banana", 3);
fruitBasket.put("Orange", 2);

// Cetak rak buah kita
System.out.println("Rak buah kita: " + fruitBasket);

// Dapatkan jumlah epal
int appleCount = fruitBasket.get("Apple");
System.out.println("Kami ada " + appleCount + " epal");

// Tambah lagi pisang
fruitBasket.put("Banana", 6);
System.out.println("Rak buah dikemaskini: " + fruitBasket);

// Periksa jika kami ada grape
if (fruitBasket.containsKey("Grape")) {
System.out.println("Kami ada grape!");
} else {
System.out.println("Tiada grape di rak kami");
}
}
}

Mari kita pecahkan ini:

  1. Kita buat TreeMap yang dipanggil fruitBasket.
  2. Kita tambah buah dan kuantiti mereka menggunakan put().
  3. Kita cetak keseluruhan rak, yang akan diatur secara automatik mengikut nama buah.
  4. Kita gunakan get() untuk mencari tahu berapa banyak epal yang kita ada.
  5. Kita kemas kini jumlah pisang, menunjukkan bahwa put() juga boleh mengemas kini nilai.
  6. Akhir sekali, kita periksa jika kita ada grape menggunakan containsKey().

Apabila anda menjalankan kod ini, anda akan lihat buah diatur mengikut abjad secara automatik. Ia seperti sihir, tetapi hanya TreeMap melakukan kerja mereka!

Dan itu semua, rakan-rakan! Anda baru saja mengambil langkah pertama anda ke atas dunia TreeMap. Ingat, latihan membuat perferct. Cuba untuk membuat TreeMap anda sendiri dengan jenis data yang berbeza. Mungkin peta buku favorit anda dan penarafannya, atau senarai rakan anda dan hari lahir mereka. Kemungkinan adalah tak terhingga!

Happy coding, dan jangan lupa untuk selalu menjaga TreeMap anda untuk keseimbangan yang sempurna!

Credits: Image by storyset