Trumpas „TreeMap“ įvadas į „Java“ su pavyzdžiais



Šis straipsnis suteiks jums išsamių ir išsamių žinių apie „TreeMap“ sistemoje „Java“ su metodų ir konstruktorių pavyzdžiais.

Žemėlapio sąsajos diegimas „Java“ yra labai svarbi užduotis. Šiuo tikslu mes turime Medžio žemėlapis ir „HashMap“ . Šiame straipsnyje daugiausia dėmesio bus skiriama „TreeMap“ tokia tvarka:

Kas yra „TreeMap“ sistemoje „Java“?

„TreeMap“ sistemoje „Java“ naudojama įgyvendinti žemėlapio sąsają ir „NavigableMap“ kartu su abstrakčia klase. Žemėlapis yra rūšiuojamas pagal natūralų jo klavišų išdėstymą arba „Comparator“, pateiktą žemėlapio kūrimo metu, atsižvelgiant į naudojamą konstruktorių. Tai pasirodo esąs efektyvus raktų ir reikšmės porų rūšiavimo ir saugojimo būdas.



TreeMap-in-JavaTreemap palaikoma saugojimo tvarka turi atitikti lygias lygias, kaip ir bet kuris kitas rūšiuojamas žemėlapis, neatsižvelgiant į aiškius palyginimus. Treemapįgyvendinimas nėra sinchronizuotas ta prasme, kad jei prie žemėlapio pasiekiama kelios gijos, tuo pačiu metu ir bent viena iš gijų modifikuoja žemėlapį struktūriškai, jis turi būti sinchronizuojamas išoriškai.

„TreeMaps“ ypatybės

  • Ši klasė yra „Java Collections Framework“ narė.



    c ++ sujungimo rūšiavimo algoritmas
  • Klasė įgyvendina žemėlapio sąsajas, įskaitant „NavigableMap“, „SortedMap“, ir pratęsia „AbstractMap“

  • „TreeMap“ sistemoje „Java“ neleidžiami jokie raktai (pvz., Žemėlapis), todėl išmetama „NullPointerException“. Tačiau kelias nulines reikšmes galima susieti su skirtingais raktais.

  • Visos šios klasės metodais sugrąžintos „Map.Entry“ poros ir jos rodiniai rodo susiejimų momentines nuotraukas tuo metu, kai jie buvo sukurti.



  • Jie nepalaiko „Entry.setValue“ metodo.

Svarbūs dalykai, kuriuos reikia atsiminti

  1. Be „Map“ sąsajos diegimo, „Java TreeMap“ taip pat įgyvendina „NavigableMap“ ir netiesiogiai - „SortedMap“ sąsają. „TreeMap“ taip pat pratęsia „AbstractMap“ klasę.

  2. „TreeMap“ įrašai rūšiuojami natūralia jų raktų tvarka. Jame taip pat pateikiamas konstruktorius, kuris pateikia „Comparator“, kuris bus naudojamas užsakant. Taigi, jei naudojate bet kurią klasę kaip raktą, įsitikinkite, kad joje įdiegta palyginamoji sąsaja natūraliam užsakymui. Peržiūrėkite „Java“ kolekcijos interviu klausimus, kad suprastumėte šių metodų svarbą.

  3. „Java TreeMap“ diegimas užtikrina garantuotas „logK (n)“ laiko sąnaudas operacijoms „SisKey“, „Get, Put and Remove“.

  4. „TreeMap“ nėra sinchronizuotas ir todėl nėra saugus siūlams. Jei naudojate daugiasrieges aplinkas, galite gauti supakuotą sinchronizuotą naudodami metodą Collections.synchronizedSortedMap.

  5. „TreeMap“ metodai, skirti gauti raktų rinkinį ir reikšmes, grąžina „Iterator“, kurio pobūdis yra greitas.

  6. „TreeMap“ sistemoje „Java“ neleidžiami jokie raktai, tačiau galite turėti kelias nulines reikšmes, susietas su skirtingais raktais.

Konstruktoriai „TreeMap“

Statybininkas apibūdinimas
„TreeMap“ () Sukuria tuščią medžių žemėlapį, kuris bus rūšiuojamas naudojant natūralią raktų tvarką.
„TreeMap“ (palyginimo komp.) Sukuria tuščią medžių žemėlapį, kuris bus rūšiuojamas naudojant komparatoriaus komp.
„TreeMap“ (žemėlapis m) Inicijuoja medžių žemėlapį su įrašais iš m, kurie bus rūšiuojami naudojant natūralią klavišų tvarką.
„TreeMap“ („SortedMap sm“) Inicijuoja treemografą su įrašais iš „SortedMap sm“, kurie bus rūšiuojami ta pačia tvarka kaip ir sm.

Metodai „TreeMap“

Metodas apibūdinimas
niekinis aiškus () Pašalina visus susiejimus iš šio medžio žemėlapio.
Objekto klonas () Grąžina negilų šio „TreeMap“ egzemplioriaus egzempliorių.
Palyginamasis lygintuvas () Pateikia palyginimą, naudojamą šio žemėlapio užsakymui, arba nulį, jei šiame žemėlapyje naudojama natūrali raktų tvarka.
loginis yra raktas (objekto raktas) Grąžina tiesą, jei šiame žemėlapyje yra nurodyto rakto atvaizdavimas.
boolean containsValue (objekto reikšmė) Grąžina tiesą, jei šiame žemėlapyje vienas ar keli raktai susiejami su nurodyta verte.
Nustatyti įrašąSet () Grąžina nustatytą šiame žemėlapyje esančių susiejimų vaizdą.
Objektas firstKey () Grąžina pirmąjį (žemiausią) klavišą šiuo metu šiame rūšiuojamame žemėlapyje.
Objekto gavimas (objekto raktas) Grąžina vertę, į kurią šis žemėlapis susieja nurodytą raktą.
SortedMap headMap (Objekto raktas) Pateikia šio žemėlapio dalies, kurios raktų yra griežčiau nei toKey, vaizdą.
Set keySet () Grąžina raktų, esančių šiame žemėlapyje, nustatytą vaizdą.
Objektas lastKey () Grąžina paskutinį (aukščiausią) raktą, kuris šiuo metu yra šiame rūšiuojamame žemėlapyje.
Objekto įdėjimas (objekto raktas, objekto vertė) Susieja nurodytą vertę su nurodytu raktu šiame žemėlapyje.
void putAll (žemėlapio žemėlapis) Nukopijuoja visus susiejimus iš nurodyto žemėlapio į šį žemėlapį.
Objekto pašalinimas (objekto raktas) Pašalina šio rakto atvaizdavimą iš šio medžio žemėlapio, jei jis yra.
int dydis () Grąžina raktų vertės susiejimų skaičių šiame žemėlapyje.
„SortedMap subMap“ (objektas iš rakto, objektas raktas) Grąžina šio žemėlapio dalies, kurios raktai svyruoja nuo „Key“ imtinai, iki „Key“, išskirtinis, rodinį.
SortedMap tailMap (objektas išKey) Pateikia šio žemėlapio dalies, kurios raktai yra didesni arba lygūs „fromKey“, rodinį.
Kolekcijos vertės () Grąžina šiame žemėlapyje esančių verčių kolekcijos rodinį.

„TreeMap“ pavyzdys „Java“

importuoti java.util.TreeMap viešąją klasę TreeMapMain {public static void main (String args []) {// TreeMap su šalimi kaip raktu ir kapitalu kaip reikšme // TreeMap saugo elementus natūralia tvarka. TreeMap countryCapitalMap = naujas TreeMap () countryCapitalMap.put ('Indija', 'Delis') countryCapitalMap.put ('Japonija', 'Tokijas') countryCapitalMap.put ('Prancūzija', 'Paryžius') countryCapitalMap.put ('Rusija') , 'Moscow') System.out.println ('-----------------------------') // kartojamas „TreeMap“ naudojant „keySet“ ( ) ir kiekvienai kilpai System.out.println („Iterating TreeMap Using KeySet () and for each loop ') for (String countryKey: countryCapitalMap.keySet ()) {System.out.println (' Country: '+ countryKey +') ir kapitalas: '+ countryCapitalMap.get (countryKey)}} System.out.println (' ----------------------------- ' )}}

Išvestis:

Tuo mes baigėme šį „TreeMap“ „Java“ straipsnyje. C Heck out sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai yra skirti studentams ir specialistams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti žvalgytis į „Java“ programavimą ir išmokyti pagrindinių bei pažangių „Java“ koncepcijų kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio „TreeMap in Java“ tinklaraščio komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.