Lyhyt esittely Java-TreeMapista esimerkkien avulla



Tämä artikkeli antaa sinulle yksityiskohtaisen ja kattavan tiedon TreeMap-ohjelmasta Java-ohjelmassa sekä esimerkkejä menetelmistä ja rakentajista.

Karttaliittymän toteuttaminen Java-ohjelmassa on erittäin tärkeä tehtävä. Tätä tarkoitusta varten meillä on PuuKartta ja HashMap . Tässä artikkelissa keskitymme TreeMapiin vuonna seuraavassa järjestyksessä:

Mikä on TreeMap Java-sovelluksessa?

Javan TreeMap-sovellusta käytetään Map-käyttöliittymän ja NavigableMap-sovelluksen toteuttamiseen yhdessä Abstract-luokan kanssa. Kartta on lajiteltu avainten luonnollisen järjestyksen mukaan tai kartan luontihetkellä toimitettu vertailija sen mukaan, mitä konstruktoria käytetään. Tämä osoittautuu tehokkaaksi tavaksi lajitella ja tallentaa avainarvoparit.





TreeMap-in-JavaPuukartan ylläpitämän tallennusjärjestyksen on oltava yhdenmukainen samanarvoisen kanssa kuin mikä tahansa muu lajiteltu kartta, nimenomaisista vertailijoista riippumatta. Puukarttatoteutus ei ole synkronoitu siinä mielessä, että jos karttaa käytetään useilla säikeillä samanaikaisesti ja ainakin yksi säikeistä muuttaa karttaa rakenteellisesti, se on synkronoitava ulkoisesti.

TreeMapsin ominaisuudet

  • Tämä luokka on Java Collections Framework -jäsen.



  • Luokka toteuttaa Karttaliittymät mukaan lukien NavigableMap, SortedMap ja laajentaa AbstractMap-sovellusta

  • Javan TreeMap ei salli tyhjiä avaimia (kuten Map), joten NullPointerException heitetään. Useita nolla-arvoja voidaan kuitenkin liittää eri avaimiin.

  • Kaikki Map.Entry-parit, jotka on palautettu tämän luokan menetelmillä, ja sen näkymät edustavat tilannekuvia kartoituksista niiden valmistushetkellä.



  • Ne eivät tue Entry.setValue-menetelmää.

Tärkeitä muistettavia kohtia

  1. Karttaliittymän toteuttamisen lisäksi Java TreeMap toteuttaa myös NavigableMap-sovelluksen ja epäsuorasti SortedMap-käyttöliittymän. TreeMap laajentaa myös AbstractMap-luokkaa.

  2. TreeMap-merkinnät lajitellaan avainten luonnollisessa järjestyksessä. Se tarjoaa myös rakentajan tarjoamaan Comparatorin, jota käytetään tilaamiseen. Joten jos käytät mitä tahansa luokkaa avaimena, varmista, että siinä käytetään vertailukelpoista käyttöliittymää luonnolliseen tilaamiseen. Tutustu java-kokoelmien haastattelukysymyksiin ymmärtääksesi näiden menetelmien merkityksen.

    c ++ tyypin lajittelu
  3. Java TreeMap -ratkaisu tarjoaa taatun log (n) -aikakustannuksen includKey, get, put and remove -toiminnoille.

  4. TreeMap ei ole synkronoitu eikä siten langattomasti turvallinen. Monisäikeisissä ympäristöissä voit saada kääritty synkronoitu käyttämällä menetelmää Collections.synchronizedSortedMap.

  5. TreeMap-menetelmät avaimen ja arvojen saamiseksi palauttavat Iteratorin, joka on luonteeltaan nopeaa, joten kaikki samanaikaiset muutokset heittävät ConcurrentModificationExceptionin.

  6. Jaavan TreeMap ei salli tyhjäavaimia, mutta eri avaimiin voi kuitenkin liittyä useita nolla-arvoja.

Rakentajat TreeMapissa

Rakentaja Kuvaus
Puun kartta () Rakentaa tyhjän kartan, joka lajitellaan avainten luonnollisessa järjestyksessä.
TreeMap (vertailukompakti) Rakentaa tyhjän puupohjaisen kartan, joka lajitellaan Comparator-compilla.
Puun kartta (kartta m) Alustetaan treemap, jossa on merkinnät m: stä, jotka lajitellaan näppäinten luonnollisessa järjestyksessä.
TreeMap (lajiteltuMap sm) Alustaa treemapin SortedMap sm: n merkinnöillä, jotka lajitellaan samassa järjestyksessä kuin sm.

Menetelmät TreeMapissa

Menetelmä Kuvaus
mitätön selvä () Poistaa kaikki kartoitukset tältä TreeMap-kartalta.
Objektiklooni () Palauttaa matalan kopion tästä TreeMap-ilmentymästä.
Vertailuvertailija () Palauttaa tämän kartan tilaamiseen käytetyn vertailijan tai nolla, jos kartta käyttää avainten luonnollista järjestystä.
looginen sisältääKey (Object key) Palauttaa arvon true, jos tämä kartta sisältää määritetyn avaimen kartoituksen.
totuusarvo sisältääValue (objektiarvo) Palauttaa arvon tosi, jos tämä kartta yhdistää yhden tai useamman avaimen määritettyyn arvoon.
Set entrySet () Palauttaa asetetun kuvan tämän kartan kartoituksista.
Objekti firstKey () Palauttaa tämän järjestetyn kartan ensimmäisen (alimman) avaimen.
Object get (Object-avain) Palauttaa arvon, johon tämä kartta yhdistää määritetyn avaimen.
SortedMap headMap (Object to Key) Palauttaa näkymän kartan osasta, jonka avaimet ovat ehdottomasti pienempiä kuin ToKey.
Aseta avainSet () Palauttaa joukon näkymän tämän kartan avaimista.
Objekti lastKey () Palauttaa tällä järjestetyllä kartalla viimeisen (korkeimman) avaimen.
Object put (Objektiavain, Objektin arvo) Liittää määritetyn arvon määritettyyn avaimeen tässä kartassa.
void putAll (Kartta kartta) Kopioi kaikki kartoitukset määritetystä kartasta tähän karttaan.
Objektin poisto (objektiavain) Poistaa tämän avaimen kartoituksen tästä TreeMapista, jos sellainen on.
int-koko () Palauttaa tämän kartan avainarvokartoitusten määrän.
SortedMap subMap (Object fromKey, Object to Key) Palauttaa näkymän tämän kartan osasta, jonka avaimet vaihtelevat Avaimesta, mukaan lukien, Avaimelle, yksinoikeudella.
SortedMap tailMap (Object fromKey) Palauttaa näkymän tämän kartan osasta, jonka avaimet ovat suurempia tai yhtä suuria kuin fromKey.
Kokoelman arvot () Palauttaa kokoelmakuvan tämän kartan arvoista.

Esimerkki Java-kartan TreeMapista

tuo java.util.TreeMap public class TreeMapMain {public static void main (String args []) {// TreeMap, jossa maa on avain ja pääoma arvona // TreeMap tallentaa elementit avainten luonnollisessa järjestyksessä. TreeMap countryCapitalMap = uusi TreeMap () countryCapitalMap.put ('Intia', 'Delhi') countryCapitalMap.put ('Japani', 'Tokio') countryCapitalMap.put ('Ranska', 'Pariisi') countryCapitalMap.put ('Venäjä') , 'Moskova') System.out.println ('-----------------------------') // Iterating TreeMap using keySet ( ) ja jokaiselle silmukalle System.out.println ('Iterating TreeMap using KeySet () and for each loop') for (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ') ja pääoma: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

Tuotos:

Tämän avulla olemme päässeet tämän TreeMap in Java -artikkelin loppuun. C helvetti Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssi on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä. Kurssi on suunniteltu antamaan sinulle etumatka Java-ohjelmointiin ja kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän “TreeMap in Java” -blogin kommenttiosassa, niin otamme sinuun yhteyttä mahdollisimman pian.