Pengantar Singkat TreeMap di Java dengan Contoh



Artikel ini akan memberi Anda pengetahuan rinci dan komprehensif tentang TreeMap di Java dengan contoh Metode dan Konstruktor.

Menerapkan antarmuka Peta di Java adalah tugas yang sangat penting. Untuk tujuan ini, kami punya TreeMap dan HashMap . Pada artikel ini, fokus kita adalah pada TreeMap dalam Urutan Berikut:

Apa itu TreeMap di Java?

TreeMap di Java digunakan untuk mengimplementasikan antarmuka Map dan NavigableMap bersama dengan Kelas Abstrak. Peta diurutkan menurut urutan alami kuncinya, atau oleh Pembanding yang disediakan pada waktu pembuatan peta, bergantung pada konstruktor mana yang digunakan. Ini terbukti sebagai cara yang efisien untuk menyortir dan menyimpan pasangan nilai kunci.





TreeMap-in-JavaUrutan penyimpanan yang dipertahankan oleh peta hierarki harus konsisten dengan sama seperti peta terurut lainnya, terlepas dari pembanding eksplisitnya. Peta hierarkiImplementasi tidak disinkronkan dalam arti bahwa jika peta diakses oleh beberapa utas, secara bersamaan dan setidaknya salah satu utas memodifikasi peta secara struktural, peta harus disinkronkan secara eksternal.

Fitur TreeMaps

  • Kelas ini adalah anggota dari Java Collections Framework.



  • Kelas mengimplementasikan antarmuka Map termasuk NavigableMap, SortedMap dan memperluas AbstractMap

  • TreeMap di Java tidak mengizinkan kunci null (seperti Map) dan dengan demikian NullPointerException dilemparkan. Namun, beberapa nilai null dapat dikaitkan dengan kunci yang berbeda.

  • Semua pasangan Map.Entry dikembalikan oleh metode di kelas ini dan tampilannya mewakili snapshot pemetaan pada saat mereka diproduksi.



  • Mereka tidak mendukung metode Entry.setValue.

Poin Penting untuk Diingat

  1. Selain mengimplementasikan antarmuka Map, Java TreeMap juga mengimplementasikan NavigableMap dan secara tidak langsung mengimplementasikan antarmuka SortedMap. TreeMap juga memperluas kelas AbstractMap.

  2. Entri TreeMap diurutkan dalam urutan alami kuncinya. Ini juga menyediakan konstruktor untuk menyediakan Pembanding yang akan digunakan untuk memesan. Jadi jika Anda menggunakan kelas apa pun sebagai kunci, pastikan kelas itu mengimplementasikan antarmuka Comparable untuk pengurutan alami. Lihat pertanyaan wawancara koleksi java untuk memahami pentingnya metode ini.

    melewati nilai dan melewati referensi java
  3. Implementasi Java TreeMap memberikan jaminan biaya waktu log (n) untuk operasi containsKey, get, put dan remove.

  4. TreeMap tidak disinkronkan dan karenanya tidak aman untuk thread. Untuk lingkungan multithread, Anda bisa mendapatkan sinkronisasi yang dibungkus menggunakan metode Collections.synchronizedSortedMap.

  5. Metode TreeMap untuk mendapatkan kumpulan kunci dan nilai mengembalikan Iterator yang bersifat cepat gagal, jadi setiap modifikasi serentak akan menampilkan ConcurrentModificationException.

  6. TreeMap di java tidak mengizinkan kunci null, namun, Anda dapat memiliki beberapa nilai null yang terkait dengan kunci yang berbeda.

Konstruktor di TreeMap

Pembangun Deskripsi
TreeMap () Membuat peta hierarki kosong yang akan diurutkan menggunakan urutan alami kuncinya.
TreeMap (Comparator comp) Membuat peta berbasis pohon kosong yang akan disortir menggunakan comparator comp.
TreeMap (Peta m) Menginisialisasi peta hierarki dengan entri dari m, yang akan diurutkan menggunakan urutan alami tombol.
TreeMap (SortedMap sm) Menginisialisasi peta hierarki dengan entri dari SortedMap sm, yang akan diurutkan dalam urutan yang sama seperti sm.

Metode di TreeMap

metode Deskripsi
batal jelas () Menghapus semua pemetaan dari TreeMap ini.
Objek clone () Mengembalikan salinan dangkal dari instance TreeMap ini.
Pembanding komparator () Mengembalikan pembanding yang digunakan untuk mengurutkan peta ini, atau null jika peta ini menggunakan urutan alami kuncinya.
boolean containsKey (kunci Objek) Mengembalikan nilai benar jika peta ini berisi pemetaan untuk kunci yang ditentukan.
boolean containsValue (nilai objek) Mengembalikan nilai benar jika peta ini memetakan satu atau beberapa kunci ke nilai yang ditentukan.
Setel entrySet () Mengembalikan tampilan set dari pemetaan yang ada di peta ini.
Objek firstKey () Mengembalikan kunci pertama (terendah) yang saat ini ada di peta yang diurutkan ini.
Object get (Object key) Menampilkan nilai yang dipetakan peta ini untuk kunci yang ditentukan.
SortedMap headMap (Object toKey) Mengembalikan tampilan bagian dari peta ini yang kuncinya lebih kecil dari toKey.
Setel keySet () Mengembalikan tampilan Set dari kunci yang terdapat dalam peta ini.
Objek lastKey () Mengembalikan kunci terakhir (tertinggi) saat ini di peta yang disortir ini.
Letakkan objek (Kunci objek, nilai Objek) Mengaitkan nilai yang ditentukan dengan kunci yang ditentukan di peta ini.
void putAll (Peta peta) Salin semua pemetaan dari peta yang ditentukan ke peta ini.
Hapus objek (kunci Objek) Menghapus pemetaan untuk kunci ini dari TreeMap ini jika ada.
ukuran int () Menampilkan jumlah pemetaan nilai kunci di peta ini.
SortedMap subMap (Object fromKey, Object toKey) Menampilkan tampilan bagian peta ini yang kuncinya berkisar dari fromKey, inklusif, hingga toKey, eksklusif.
SortedMap tailMap (Object fromKey) Mengembalikan tampilan dari bagian peta ini yang kuncinya lebih besar dari atau sama dengan fromKey.
Nilai koleksi () Mengembalikan tampilan koleksi dari nilai-nilai yang terkandung dalam peta ini.

Contoh TreeMap di Java

import java.util.TreeMap public class TreeMapMain {public static void main (String args []) {// TreeMap dengan Country sebagai kunci dan kapital sebagai nilai // TreeMap menyimpan elemen dalam urutan natural dari kunci. TreeMap countryCapitalMap = new TreeMap () countryCapitalMap.put ('India', 'Delhi') countryCapitalMap.put ('Japan', 'Tokyo') countryCapitalMap.put ('France', 'Paris') countryCapitalMap.put ('Russia' , 'Moscow') System.out.println ('-----------------------------') // Iterasi TreeMap Menggunakan keySet ( ) dan untuk setiap loop System.out.println ('Iterating TreeMap Menggunakan keySet () dan untuk setiap loop') untuk (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ' dan Modal: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

Keluaran:

Dengan ini, kita sampai pada akhir artikel TreeMap di Java ini. C lihat saja oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus pelatihan dan sertifikasi Java J2EE dan SOA Edureka dirancang untuk siswa dan profesional yang ingin menjadi Pengembang Java. Kursus ini dirancang untuk memberi Anda permulaan dalam pemrograman Java dan melatih Anda untuk konsep Java inti dan lanjutan bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar di blog 'TreeMap in Java' ini dan kami akan menghubungi Anda kembali secepatnya.