Java TreeMap: Panduan Ramah Untuk Data yang Terorganisir

Pengantar

Halo di sana, para penyihir Java masa depan! Hari ini, kita akan melakukan perjalanan yang menarik ke dunia TreeMaps. Jangan dipermalukan oleh nama itu – TreeMap tidak sem Rumit yang terdengar. Bayangkan saja itu seperti rak buku yang sangat terorganisir di mana semuanya diatur dengan urutan abjad. Terlihat berguna, kan?

Java - TreeMap

Saat saya pertama kali belajar tentang TreeMaps, saya membayangkan pohon yang nyata dengan peta yang hinggap di atas cabang-cabangnya. Pernahkah saya konyol! Tetapi gambar itu membantu saya mengingat strukturinya. Dalam kenyataannya, TreeMap di Java adalah alat yang kuat yang menjaga data Anda diurutkan secara otomatis. Itu seperti memiliki pustakawan pribadi untuk kode Anda!

Deklarasi Kelas

Ayo kita mulai dengan dasar-dasarnya. Dalam Java, TreeMap dideklarasikan 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 nonsens saat ini. Kita akan membahas itu satu per satu. Bagian <String, Integer> memberitahu Java bahwa kita ingin menyimpan string sebagai kunci dan integer sebagai nilai. Itu seperti mengatakan, "Saya ingin rak buku di mana judul buku (string) terhubung dengan nomor halaman mereka (integer)."

Parameter

TreeMaps bekerja dengan pasangan kunci-nilai. Kunci digunakan untuk menemukan nilai, sama seperti Anda menggunakan judul buku untuk menemukan konten bukunya. Dalam TreeMap kita:

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

Konstruktor Kelas

TreeMap datang dengan beberapa konstruktor. Bayangkan konstruktor sebagai cara yang berbeda untuk membangun rak buku Anda. Ini adalah 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 metode pengurutan khusus

Yang pertama membuat TreeMap kosong. Yang kedua menyalin elemen dari peta lain. Yang ketiga memungkinkan Anda untuk menentukan cara khusus untuk mengurutkan elemen.

Metode Kelas

TreeMap datang dengan rak penuh dari metode yang berguna. Berikut adalah tabel beberapa metode utama:

Metode Deskripsi
put(K key, V value) Menambahkan pasangan kunci-nilai ke peta
get(Object key) Mengambil nilai yang terhubung dengan kunci yang ditentukan
remove(Object key) Menghapus pemetaan untuk kunci yang ditentukan
clear() Menghapus semua pemetaan dari peta
size() Mengembalikan jumlah pemetaan kunci-nilai di peta
isEmpty() Mengembalikan true jika peta tidak berisi pemetaan kunci-nilai
containsKey(Object key) Mengembalikan true jika peta berisi kunci yang ditentukan
containsValue(Object value) Mengembalikan true jika peta berisi nilai yang ditentukan

Metode Yang Dikekalkan

TreeMap juga mengikuti metode dari kelas induknya. Itu seperti mengikuti rahasia resep nenek Anda – Anda mendapat hadiah ekstra tanpa kerja tambahan! Beberapa metode yang diwariskan termasuk:

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

Contoh Menambahkan dan Mengambil Nilai dari TreeMap

Sekarang, mari kita aplikasikan pengetahuan kita ke contoh yang menyenangkan. Bayangkan kita membuat rak buah digital di mana kita menyimpan buah dan kuantitas mereka:

import java.util.TreeMap;

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

// Menambahkan beberapa buah
fruitBasket.put("Apel", 5);
fruitBasket.put("Pisang", 3);
fruitBasket.put("Jeruk", 2);

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

// Mendapatkan jumlah apel
int appleCount = fruitBasket.get("Apel");
System.out.println("Kami memiliki " + appleCount + " apel");

// Menambahkan lebih banyak pisang
fruitBasket.put("Pisang", 6);
System.out.println("Rak buah yang diperbarui: " + fruitBasket);

// Memeriksa apakah kami memiliki anggur
if (fruitBasket.containsKey("Anggur")) {
System.out.println("Kami memiliki anggur!");
} else {
System.out.println("Tidak ada anggur di rak kita");
}
}
}

Ayo kita pecahkan ini:

  1. Kita membuat TreeMap yang dipanggil fruitBasket.
  2. Kita menambahkan buah dan kuantitasnya menggunakan put().
  3. Kita mencetak seluruh rak, yang secara otomatis diurutkan menurut nama buah.
  4. Kita menggunakan get() untuk menemukan berapa banyak apel yang kita miliki.
  5. Kita memperbarui jumlah pisang, menunjukkan bahwa put() juga dapat memperbarui nilai.
  6. Akhirnya, kita memeriksa apakah kita memiliki anggur menggunakan containsKey().

Saat Anda menjalankan kode ini, Anda akan melihat buah secara otomatis diurutkan secara abjad. Itu seperti sihir, tetapi itu hanya TreeMap melakukan pekerjaannya!

Dan itu untuk saat ini, teman-teman! Anda baru saja mengambil langkah pertama Anda ke dunia TreeMaps. Ingat, latihan membuat orang hebat. Cobalah membuat TreeMap Anda sendiri dengan jenis data yang berbeda. Mungkin peta dari buku favorit Anda dan nilai mereka, atau daftar dari teman Anda dan tanggal ulang tahun mereka. Kemungkinan itu tak terbatas!

Selamat coding, dan semoga TreeMap Anda selalu seimbang sempurna!

Credits: Image by storyset