Kelas Java TreeMap menyimpan data dalam struktur pohon menggunakan antarmuka peta. Kelas ini memperluas kelas AbstractMap dan, seperti kelas induknya, TreeMap memiliki dua parameter tipe. Salah satu parameter tipenya mewakili kunci di TreeMap, sementara yang lain mewakili nilai.
Struktur data TreeMap menyimpan pasangan nilai kunci dan memungkinkan Anda untuk melakukan operasi CRUD pada data ini.
Cara Membuat TreeMap di Java
Kelas TreeMap memiliki empat konstruktor yang dapat Anda gunakan untuk membuat objek TreeMap baru. Konstruktor default adalah yang paling populer dari keempatnya. Konstruktor ini tidak membutuhkan argumen dan menghasilkan peta pohon kosong.
// Buat peta pohon baru
Peta Pohon pelanggan = baru Peta Pohon();
Kode di atas menghasilkan peta pohon kosong yang disebut pelanggan.
Mengisi Struktur Data TreeMap
Itu taruh() metode menambahkan item ke objek TreeMap. Dibutuhkan dua argumen—kunci dan nilainya. Anda dapat menambahkan item ke peta pohon dalam urutan acak apa pun dan struktur data akan menyimpannya dalam urutan menaik, sesuai dengan kuncinya.
// Mengisi peta pohon
pelanggan.put(105, "Jessica Jones");
pelanggan.put(102, "Mark Williams");
pelanggan.put(104, "Phil Blair");
pelanggan.put(101, "Kim Brown");
pelanggan.put(103, "Jim Riley");
Kode di atas menambahkan lima pelanggan, secara acak, ke peta pohon pelanggan.
Melihat Item di TreeMap
Kelas TreeMap menyimpan datanya dalam sebuah objek. Jadi, untuk melihat semua item di peta pohon, Anda cukup mencetak objek peta pohon ke konsol:
// Lihat semua item peta pohon sebagai objek
System.out.println (pelanggan);
Kode di atas mencetak output berikut ke konsol:
{101=Kim Brown, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}
Perhatikan bahwa objek di atas menampilkan item dalam urutan menaik. Anda juga dapat melihat setiap item dan kunci yang sesuai menggunakan sebuah Java untuk loop.
// Lihat semua item dengan iterator
untuk (Pintu masuk pelanggan: pelanggan.entrySet()) {
System.out.println("Kunci: " + pelanggan.getKey() + " Nilai: " + pelanggan.getValue());
}
Kode di atas mencetak output berikut ke konsol:
Kunci: 101 Nilai: Kim Brown
Kunci: 102 Nilai: Mark Williams
Kunci: 103 Nilai: Jim Riley
Kunci: 104 Nilai: Phil Blair
Kunci: 105 Nilai: Jessica Jones
Memperbarui Item di TreeMap
Kelas TreeMap memungkinkan Anda untuk memperbarui item yang ada menggunakan mengganti() metode. Ada dua metode penggantian. Metode pertama mengambil kunci yang ada dan nilai baru yang Anda inginkan untuk memetakan kunci yang ada.
// Ganti nilai yang ada
pelanggan.ganti(101, "Kim Smith");
System.out.println (pelanggan);
Kode di atas mencetak objek berikut di konsol:
{101=Kim Smith, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}
Seperti yang dapat Anda lihat Kim Brown sekarang Kim Smith. Metode replace() kedua mengambil kunci yang ada, nilai kunci saat ini, dan nilai baru yang ingin Anda petakan ke kunci.
// Ganti nilai yang ada
pelanggan.ganti(103,"Jim Riley", "Michelle Noah");
System.out.println (pelanggan);
Kode di atas mencetak objek berikut di konsol:
{101=Kim Brown, 102=Mark Williams, 103=Michelle Noah, 104=Phil Blair, 105=Jessica Jones}
Pada objek di atas Michelle Nuh menggantikan Jim Riley.
Menghapus Item Dari TreeMap
Jika Anda ingin menghapus satu item dari peta pohon, tombol menghapus() metode adalah satu-satunya pilihan Anda. Dibutuhkan kunci yang terkait dengan item yang ingin Anda hapus dan mengembalikan nilai yang dihapus.
// Hapus item
pelanggan.hapus(104);
System.out.println (pelanggan);
Menjalankan kode di atas mencetak objek berikut ke konsol:
{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}
Ini Kelas Jawa juga memiliki jernih() metode yang memungkinkan Anda untuk menghapus semua item di peta pohon.
Peta Pohon vs. Kelas Java HashMap
TreeMap dan HashMap adalah dua kelas peta Java yang lebih populer. Keduanya memperluas kelas AbstractMap. Hubungan ini memberi kelas TreeMap dan HashMap akses ke banyak fungsi yang sama.
Namun, ada beberapa perbedaan penting antara kedua kelas peta ini. TreeMap menggunakan implementasi pohon Merah-Hitam dari antarmuka Peta, sedangkan HashMap menggunakan tabel hash. HashMap memungkinkan Anda untuk menyimpan satu kunci nol, sedangkan TreeMap tidak. Akhirnya, HashMap lebih cepat daripada TreeMap. Kecepatan algoritme yang pertama adalah O(1) sedangkan yang terakhir adalah O(log (n)).