Kratek uvod v TreeMap v Javi s primeri



V tem članku boste našli podrobno in celovito znanje o TreeMap v Javi s primeri metod in konstruktorjev.

Izvajanje vmesnika Map v Javi je zelo pomembna naloga. V ta namen imamo TreeMap in HashMap . V tem članku se bomo osredotočili na TreeMap v v naslednjem vrstnem redu:

Kaj je TreeMap v Javi?

TreeMap v Javi se uporablja za izvajanje vmesnika Map in NavigableMap skupaj z razredom Abstract. Zemljevid je razvrščen po naravnem vrstnem redu tipk ali po primerjalniku, ki je na voljo med ustvarjanjem zemljevida, odvisno od tega, kateri konstruktor je uporabljen. To se izkaže za učinkovit način razvrščanja in shranjevanja parov ključ / vrednost.





mimo vrednosti v javi

TreeMap-in-JavaVrstni red shranjevanja, ki ga vzdržuje drevesni zemljevid, mora biti skladen z enakimi, tako kot kateri koli drug razvrščen zemljevid, ne glede na izrecne primerjalnike. Drevesni zemljevidizvedba ni sinhronizirana v smislu, da če je do zemljevida hkrati dostopnih več niti, in vsaj ena od niti spreminja zemljevid strukturno, ga je treba sinhronizirati navzven.

Značilnosti TreeMaps

  • Ta razred je član okvira Java Collections Framework.



  • Razred izvaja vmesnike Map, vključno z NavigableMap, SortedMap in razširja AbstractMap

  • TreeMap v Javi ne dovoljuje ničelnih ključev (kot je Map) in tako se vrže NullPointerException. Vendar je več ničelnih vrednosti mogoče povezati z različnimi ključi.

  • Vsi pari Map.Entry, vrnjeni z metodami v tem razredu, in njegovi pogledi predstavljajo posnetke preslikav v času, ko so bili izdelani.



  • Ne podpirajo metode Entry.setValue.

Pomembne točke, ki si jih je treba zapomniti

  1. Poleg vmesnika Map Java TreeMap izvaja tudi NavigableMap in posredno implementira vmesnik SortedMap. TreeMap razširja tudi razred AbstractMap.

  2. Vnosi TreeMap so razvrščeni po naravnem vrstnem redu njegovih ključev. Zagotavlja tudi konstruktor za primerjalnik, ki se uporablja za naročanje. Torej, če uporabljate kateri koli razred kot ključ, se prepričajte, da uporablja primerljiv vmesnik za naravno naročanje. Oglejte si vprašanja o intervjujih za zbirke jave, da boste razumeli pomen teh metod.

  3. Izvajanje Java TreeMap zagotavlja zajamčene stroške dnevnika (n) za operacije containsKey, pridobivanje, postavljanje in odstranjevanje.

    print_r v niz
  4. TreeMap ni sinhroniziran in zato ni varen za nit. Za večnitna okolja lahko dobite zavite sinhronizirane z uporabo metode Collections.synchronizedSortedMap.

  5. Metode TreeMap za pridobitev nabora ključev in vrednosti vrnejo Iterator, ki je po naravi hiter, zato bo vsaka sočasna sprememba vrgla ConcurrentModificationException.

  6. TreeMap v javi ne dovoljuje ničelnih ključev, lahko pa imate več ničelnih vrednosti, povezanih z različnimi ključi.

Konstruktorji v TreeMap

Graditelj Opis
TreeMap () Ustvari prazen drevesni zemljevid, ki bo razvrščen po naravnem vrstnem redu ključev.
TreeMap (primerjalna naprava) Konstruira prazen drevesni zemljevid, ki bo razvrščen s pomočjo Comparator comp.
TreeMap (zemljevid m) Inicializira drevesni zemljevid z vnosi iz m, ki bodo razvrščeni po naravnem vrstnem redu tipk.
TreeMap (SortedMap sm) Inicializira drevesni zemljevid z vnosi iz SortedMap sm, ki bodo razvrščeni v enakem vrstnem redu kot sm.

Metode v TreeMap

Metoda Opis
prazno jasno () Odstrani vsa preslikave s tega zemljevida dreves.
Klon predmeta () Vrne plitko kopijo tega primerka TreeMap.
Primerjalna primerjalna naprava () Vrne primerjalnik, uporabljen za naročanje tega zemljevida, ali nič, če ta zemljevid uporablja naravni vrstni red svojih ključev.
boolean containsKey (tipka predmeta) Vrne true, če ta zemljevid vsebuje preslikavo za navedeni ključ.
boolean containsValue (vrednost predmeta) Vrne true, če ta zemljevid preslika enega ali več ključev na določeno vrednost.
Nastavi entrySet () Vrne nastavljeni pogled preslikav, ki jih vsebuje ta zemljevid.
Predmet firstKey () Vrne prvi (najnižji) ključ, ki je trenutno na tem razvrščenem zemljevidu.
Object get (tipka predmeta) Vrne vrednost, na katero ta zemljevid preslika navedeni ključ.
SortedMap headMap (Object toKey) Vrne pogled na del tega zemljevida, katerega ključi so strogo manjši od toKey.
Nastavi keySet () Vrne nastavljeni pogled tipk na tem zemljevidu.
Predmet lastKey () Vrne zadnji (najvišji) ključ, ki je trenutno na tem razvrščenem zemljevidu.
Postavitev predmeta (tipka predmeta, vrednost predmeta) Navedeno vrednost poveže z določenim ključem na tem zemljevidu.
void putAll (zemljevid zemljevida) Kopira vsa preslikave z določenega zemljevida na ta zemljevid.
Odstranitev predmeta (tipka predmeta) Odstrani preslikavo tega ključa s tega TreeMap, če je prisoten.
velikost int () Vrne število preslikav ključ-vrednost na tem zemljevidu.
Podkarta SortedMap (Predmet odKey, Object toKey) Vrne pogled na del tega zemljevida, katerega ključi segajo od vključno s ključem do izključnega ključa.
SortedMap tailMap (Predmet odKey) Vrne pogled na del tega zemljevida, katerega ključi so večji ali enaki od odKey.
Vrednosti zbirke () Vrne pogled zbirke vrednosti na tem zemljevidu.

Primer TreeMap v Javi

import java.util.TreeMap javni razred TreeMapMain {public static void main (String args []) {// TreeMap z državo kot ključem in kapitalom kot vrednostjo // TreeMap hrani elemente v naravnem vrstnem redu ključev. TreeMap countryCapitalMap = novo TreeMap () countryCapitalMap.put ('India', 'Delhi') countryCapitalMap.put ('Japan', 'Tokyo') countryCapitalMap.put ('France', 'Paris') countryCapitalMap.put ('Russia' , 'Moskva') System.out.println ('-----------------------------') // Iteracija drevesne karte s pomočjo keySet ( ) in za vsako zanko System.out.println ('Ponavljanje drevesne karte z uporabo keySet () in za vsako zanko') za (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ' in glavni kapital: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

Izhod:

S tem smo prišli do konca tega članka TreeMap v Javi. C poglej Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je namenjen študentom in strokovnjakom, ki želijo biti razvijalec Java. Tečaj je zasnovan tako, da vam omogoči uvod v programiranje Java in vas usposobi za osnovne in napredne koncepte Java, skupaj z različnimi Java okviri, kot so Hibernate & Spring

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega spletnega dnevnika 'TreeMap v Javi' in v najkrajšem možnem času se vam bomo oglasili.