Pengenalan Ringkas untuk TreeMap di Java dengan Contohnya



Artikel ini akan memberi anda pengetahuan terperinci dan komprehensif mengenai TreeMap di Java dengan contoh Kaedah dan Pembina.

Melaksanakan antara muka Peta di Java adalah tugas yang sangat penting. Untuk tujuan ini, kita ada Peta Pokok dan Peta Hash . Dalam artikel ini, fokus kami adalah pada TreeMap di dalam Urutan Berikut:

Apa itu TreeMap di Java?

TreeMap di Java digunakan untuk menerapkan antara muka Peta dan NavigableMap bersama dengan Kelas Abstrak. Peta disusun mengikut urutan semula jadi kuncinya, atau oleh Pembanding yang disediakan pada waktu pembuatan peta, bergantung pada konstruktor mana yang digunakan. Ini terbukti menjadi kaedah yang berkesan untuk menyusun dan menyimpan pasangan nilai-kunci.





TreeMap-in-JavaUrutan penyimpanan yang dikendalikan oleh peta jalan mesti selaras dengan sama seperti peta disusun lain, tanpa mengira pembanding yang jelas. Peta jalanpelaksanaannya tidak diselaraskan dalam arti bahawa jika peta diakses oleh beberapa utas, serentak dan sekurang-kurangnya salah satu utas mengubah peta secara struktur, ia mesti diselaraskan secara luaran.

Ciri-ciri TreeMaps

  • Kelas ini adalah ahli Java Collections Framework.



  • Kelas mengimplementasikan antara muka Peta termasuk NavigableMap, SortedMap dan memperluas AbstractMap

  • TreeMap di Java tidak membenarkan kekunci kosong (seperti Peta) dan dengan itu NullPointerException dilemparkan. Walau bagaimanapun, beberapa nilai nol boleh dikaitkan dengan kunci yang berbeza.

  • Semua pasangan Peta.Entri dikembalikan dengan kaedah dalam kelas ini dan pandangannya mewakili gambar pemetaan pada masa ia dihasilkan.



  • Mereka tidak menyokong kaedah Entry.setValue.

Perkara Penting untuk Diingat

  1. Selain menerapkan antara muka Peta, Java TreeMap juga mengimplementasikan NavigableMap dan secara tidak langsung menerapkan antara muka SortedMap. TreeMap juga meluaskan kelas AbstractMap.

  2. Entri TreeMap disusun mengikut susunan semula kuncinya. Ia juga menyediakan konstruktor untuk menyediakan Comparator yang akan digunakan untuk membuat pesanan. Oleh itu, jika anda menggunakan kelas apa pun sebagai kunci, pastikan kelas ini menggunakan antara muka yang setanding untuk pesanan semula jadi. Lihat soalan temu ramah koleksi java untuk memahami kepentingan kaedah ini.

  3. Pelaksanaan Java TreeMap memberikan kos log (n) masa yang dijamin untuk operasi containKey, get, let and remove.

  4. TreeMap tidak disegerakkan dan oleh itu tidak selamat pada benang. Untuk persekitaran multithread, anda boleh mendapatkan pembungkus yang diselaraskan menggunakan kaedah Collections.synchronizedSortedMap.

  5. Kaedah TreeMap untuk mendapatkan kunci dan nilai mengembalikan Iterator yang bersifat cepat-cepat, jadi apa-apa pengubahsuaian bersamaan akan membuang ConcurrentModificationException.

  6. TreeMap di java tidak membenarkan kekunci kosong, namun, anda boleh mempunyai beberapa nilai nol yang berkaitan dengan kunci yang berbeza.

Pembina dalam TreeMap

Pembina Penerangan
Peta Pokok () Membina peta jalan kosong yang akan disusun menggunakan urutan semula jadi kuncinya.
TreeMap (komparator komparator) Membina peta berasaskan pokok kosong yang akan disusun menggunakan komparator Comp.
Peta Pokok (Peta m) Memulakan peta jalan dengan entri dari m, yang akan disusun menggunakan urutan semula jadi kunci.
Peta Pokok (Peta Diurutkan sm) Memulakan peta jalan dengan entri dari SortedMap sm, yang akan disusun mengikut urutan yang sama seperti sm.

Kaedah dalam TreeMap

Kaedah Penerangan
kosongkan () Membuang semua pemetaan dari TreeMap ini.
Klon objek () Mengembalikan salinan cetek instance TreeMap ini.
Pembanding perbandingan () Mengembalikan pembanding yang digunakan untuk memesan peta ini, atau batal jika peta ini menggunakan urutan semula jadi kuncinya.
boolean mengandungKey (Kekunci objek) Kembali benar jika peta ini mengandungi pemetaan untuk kunci yang ditentukan.
boolean mengandungValue (Nilai objek) Kembali benar jika peta ini memetakan satu atau lebih kunci ke nilai yang ditentukan.
Tetapkan entriSet () Mengembalikan paparan pemetaan yang terdapat dalam peta ini.
Objek pertamaKey () Mengembalikan kunci pertama (terendah) yang terdapat dalam peta yang disusun ini.
Objek mendapatkan (Kekunci objek) Mengembalikan nilai yang peta ini memetakan kunci yang ditentukan.
SortedMap headMap(Object toKey) Mengembalikan pandangan bahagian peta ini yang kuncinya kurang dari toKey.
Tetapkan keySet () Mengembalikan pandangan Set kunci yang terdapat dalam peta ini.
Objek LastKey () Mengembalikan kunci terakhir (tertinggi) yang terdapat dalam peta yang disusun ini.
Objek diletakkan (Kekunci objek, Nilai objek) Kaitkan nilai yang ditentukan dengan kunci yang ditentukan dalam peta ini.
batal putAll (Peta peta) Menyalin semua pemetaan dari peta yang ditentukan ke peta ini.
Buang objek (Kekunci objek) Membuang pemetaan untuk kunci ini dari TreeMap ini jika ada.
saiz int () Mengembalikan jumlah pemetaan nilai-kunci dalam peta ini.
SubMap Diurutkan Peta (Objek dariKey, Objek keKey) Mengembalikan pandangan bahagian peta ini yang kuncinya berkisar dari Key, inklusif, hingga ke Key, eksklusif.
Diet Peta Peta ekor (Objek dariKey) Mengembalikan pandangan bahagian peta ini yang kuncinya lebih besar daripada atau sama dengan fromKey.
Nilai koleksi () Mengembalikan paparan koleksi nilai yang terdapat dalam peta ini.

Contoh TreeMap di Java

import java.util.TreeMap kelas awam TreeMapMain {public static void main (String args []) {// TreeMap dengan Negara sebagai kunci dan modal sebagai nilai // TreeMap menyimpan elemen dalam susunan kunci secara semula jadi. TreeMap countryCapitalMap = new TreeMap () countryCapitalMap.put ('India', 'Delhi') countryCapitalMap.put ('Japan', 'Tokyo') countryCapitalMap.put ('France', 'Paris') countryCapitalMap.put ('Russia') , 'Moscow') System.out.println ('-----------------------------') // Melakukan Pemetaan TreeMap Menggunakan keySet ( ) dan untuk setiap gelung System.out.println ('Iterating TreeMap Using keySet () and for each loop') untuk (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ' dan Modal: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

Pengeluaran:

tukar dari double ke int java

Dengan ini, kita akan mengakhiri artikel TreeMap ini di Java. C lihatlah oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java. Kursus ini dirancang untuk memberi Anda awal dalam pengaturcaraan Java dan melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog 'TreeMap in Java' ini dan kami akan menghubungi anda secepat mungkin.