Kratki uvod u TreeMap u Javi s primjerima



Ovaj će vam članak pružiti detaljno i sveobuhvatno znanje o TreeMap-u u Javi s primjerima metoda i konstruktora.

Implementacija sučelja Map u Javi vrlo je važan zadatak. U tu svrhu imamo TreeMap i HashMap . U ovom ćemo članku fokus staviti na TreeMap u sljedećim redoslijedom:

Što je TreeMap u Javi?

TreeMap u Javi koristi se za implementaciju sučelja Map i NavigableMap zajedno sa sažetkom klase. Karta je sortirana prema prirodnom redoslijedu njezinih ključeva ili prema Usporedniku koji se pruža u vrijeme izrade karte, ovisno o tome koji se konstruktor koristi. Ovo se pokazalo učinkovitim načinom sortiranja i pohrane parova ključ / vrijednost.





TreeMap-in-JavaRedoslijed pohrane koji održava mapa stabla mora biti u skladu s jednakim, kao i bilo koja druga sortirana karta, bez obzira na eksplicitne usporedbe. Mapa stablaimplementacija nije sinkronizirana u smislu da ako mapi istovremeno pristupa više niti, istovremeno i barem jedna od niti strukturno modificira kartu, mora se sinkronizirati izvana.

Značajke TreeMapsa

  • Ovaj je razred član okvira Java Collections Framework.



  • Klasa implementira sučelja Map, uključujući NavigableMap, SortedMap i proširuje AbstractMap

  • TreeMap u Javi ne dopušta null ključeve (poput Map) i time se baca NullPointerException. Međutim, više null vrijednosti može biti povezano s različitim ključevima.

    c ++ kako razvrstati niz
  • Svi parovi Map.Entry vraćeni metodama u ovoj klasi i njezini pogledi predstavljaju snimke preslikavanja u vrijeme kada su proizvedeni.



  • Ne podržavaju metodu Entry.setValue.

    koja je najbolja java ide

Važne točke koje treba zapamtiti

  1. Osim implementacije sučelja Map, Java TreeMap također implementira NavigableMap i neizravno implementira SortedMap sučelje. TreeMap također proširuje klasu AbstractMap.

  2. Unosi u TreeMap sortirani su prirodnim redoslijedom njegovih ključeva. Također nudi konstruktor za uspoređivanje koji se koristi za naručivanje. Dakle, ako koristite bilo koju klasu kao ključ, pobrinite se da implementira usporedivo sučelje za prirodno naručivanje. Pogledajte pitanja o intervjuima za zbirke Java kako biste shvatili važnost ovih metoda.

  3. Implementacija Java TreeMap osigurava zajamčeni trošak dnevnika (n) za operacije contentsKey, dobivanje, stavljanje i uklanjanje.

  4. TreeMap nije sinkroniziran i stoga nije siguran u niti. Za višenitna okruženja možete dobiti omotanu sinkronizaciju pomoću metode Collections.synchronizedSortedMap.

  5. TreeMap metode za dobivanje skupa ključeva i vrijednosti vraćaju Iterator koji je ubrzan po svojoj prirodi, pa će svaka istodobna izmjena baciti ConcurrentModificationException.

  6. TreeMap u javi ne dopušta null ključeve, međutim, možete imati više null vrijednosti povezanih s različitim ključevima.

Konstruktori u TreeMap-u

Graditelj Opis
Karta stabla () Konstruira praznu kartu stabla koja će se sortirati prema prirodnom redoslijedu njegovih ključeva.
TreeMap (komparator za usporedbu) Konstruira praznu kartu temeljenu na stablu koja će se sortirati pomoću Comparator comp.
Karta stabla (karta m) Inicijalizira kartu stabla s unosima iz m, koji će se sortirati prema prirodnom redoslijedu tipki.
Karta drveta (SortedMap sm) Inicijalizira mapu stabla s unosima iz SortedMap sm, koji će biti poredani istim redoslijedom kao sm.

Metode u TreeMap-u

Metoda Opis
void clear () Uklanja sva preslikavanja s ove Karte stabla.
Klon objekta () Vraća plitku kopiju ove instance TreeMap.
Usporednik za usporedbu () Vraća usporednik upotrijebljen za naručivanje ove karte ili nulu ako ova karta koristi prirodni poredak svojih ključeva.
boolean containsKey (ključ objekta) Vraća true ako ova karta sadrži mapiranje za navedeni ključ.
boolean containsValue (vrijednost objekta) Vraća true ako ova karta preslika jedan ili više ključeva u navedenu vrijednost.
Postavi entrySet () Vraća postavljeni prikaz preslikavanja sadržanih na ovoj karti.
Objekt firstKey () Vraća prvi (najniži) ključ trenutno na ovoj razvrstanoj karti.
Object get (tipka objekta) Vraća vrijednost na koju ova karta preslikava navedeni ključ.
SortedMap headMap (Object toKey) Vraća prikaz dijela ove karte čiji su ključevi strogo manji od toKey.
Postavi keySet () Vraća postavljeni prikaz tipki sadržanih na ovoj karti.
Objekt lastKey () Vraća posljednji (najviši) ključ trenutno na ovoj razvrstanoj karti.
Stavljanje objekta (tipka objekta, vrijednost objekta) Povezuje navedenu vrijednost s navedenim ključem na ovoj mapi.
void putAll (karta na karti) Kopira sva preslikavanja s navedene karte na ovu kartu.
Ukloni objekt (tipka objekta) Uklanja preslikavanje ovog ključa s ove Karte stabla ako postoji.
veličina int () Vraća broj preslikavanja ključ / vrijednost na ovoj karti.
Podmapa SortedMap (objekt odKey, Object toKey) Vraća prikaz dijela ove karte čiji se ključevi kreću od Ključa, uključujući, do Ključa, ekskluzivno.
SortedMap tailMap (objekt odKey) Vraća prikaz dijela ove karte čiji su ključevi veći ili jednaki odKey.
Vrijednosti zbirke () Vraća prikaz zbirke vrijednosti sadržanih na ovoj mapi.

Primjer TreeMap u Javi

import java.util.TreeMap javna klasa TreeMapMain {public static void main (String args []) {// TreeMap s državom kao ključem i kapitalom kao vrijednošću // TreeMap pohranjuje elemente u prirodnom redoslijedu ključeva. TreeMap countryCapitalMap = nova TreeMap () countryCapitalMap.put ('Indija', 'Delhi') countryCapitalMap.put ('Japan', 'Tokio') countryCapitalMap.put ('Francuska', 'Pariz') countryCapitalMap.put ('Rusija' , 'Moskva') System.out.println ('-----------------------------') // Iteriranje karte stabla pomoću keySet ( ) i za svaku petlju System.out.println ('Iteriranje mape drveta pomoću KeySet () i za svaku petlju') za (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ' i glavni grad: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

Izlaz:

aws pokreće instancu iz snimke

Ovim smo došli do kraja ovog članka TreeMap u Javi. C pakao Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA dizajniran je za studente i profesionalce koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga 'TreeMap u Javi', a mi ćemo vam se javiti u najkraćem mogućem roku.