Java TreeMap -luokka on puna-musta puupohjainen toteutus. Se tarjoaa tehokkaan tavan tallentaa avainarvopareja lajiteltuun järjestykseen.
Tärkeitä kohtia Java TreeMap -luokasta ovat:
- Java TreeMap sisältää avaimeen perustuvia arvoja. Se toteuttaa NavigableMap-käyttöliittymän ja laajentaa AbstractMap-luokkaa.
- Java TreeMap sisältää vain ainutlaatuisia elementtejä.
- Java TreeMapilla ei voi olla nolla-avainta, mutta sillä voi olla useita nolla-arvoja.
- Java TreeMap ei ole synkronoitu.
- Java TreeMap ylläpitää nousevaa järjestystä.
TreeMap-luokkailmoitus
Katsotaanpa java.util.TreeMap-luokan ilmoitus.
Rajinikanth
public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable
TreeMap-luokan parametrit
Katsotaanpa java.util.TreeMap-luokan parametrit.
Java TreeMap -luokan rakentajat
Rakentaja | Kuvaus |
---|---|
TreeMap() | Sitä käytetään rakentamaan tyhjä puukartta, joka lajitellaan avaimensa luonnollisessa järjestyksessä. |
TreeMap (vertailija) | Sitä käytetään tyhjän puupohjaisen kartan rakentamiseen, joka lajitellaan vertailijan komparaattorilla. |
TreeMap (kartta m) | Sitä käytetään alustamaan puukartta merkinnöillä kohteesta m , jotka lajitellaan näppäinten luonnollisessa järjestyksessä. |
TreeMap (lajiteltu kartta m) | Sitä käytetään alustamaan puukartta SortedMapin merkinnöillä sm , jotka lajitellaan samassa järjestyksessä kuin sm. |
Java TreeMap -luokan menetelmät
Menetelmä | Kuvaus |
---|---|
Kartta.Sisääntulon kattoSyöttö (K-näppäin) | Se palauttaa avain-arvo-parin, jolla on pienin avain, suurempi tai yhtä suuri kuin määritetty avain, tai nollan, jos sellaista avainta ei ole. |
K kattoavain (K avain) | Se palauttaa pienimmän avaimen, suurempi kuin määritetty avain tai nollan, jos sellaista avainta ei ole. |
void clear () | Se poistaa kaikki avainarvo-parit kartalta. |
Objektin klooni() | Se palauttaa matalan kopion TreeMap-instanssista. |
Vertailija vertailija() | Se palauttaa vertailijan, joka järjestää avaimen järjestykseen, tai nollan, jos kartta käyttää luonnollista järjestystä. |
NavigableSet descendingKeySet() | Se palauttaa käänteisen järjestyksessä NavigableSet-näkymän kartan sisältämistä avaimista. |
NavigableMap laskeva kartta() | Se palauttaa määritetyt avain-arvo-parit laskevassa järjestyksessä. |
Kartta.Entry firstEntry() | Se palauttaa avain-arvo-parin, jolla on pienin avain. |
Map.Entry floorEntry (K-avain) | Se palauttaa suurimman avaimen, joka on pienempi tai yhtä suuri kuin määritetty avain, tai nollan, jos sellaista avainta ei ole. |
void forEach (kahden kuluttajan toiminta) | Se suorittaa annetun toiminnon jokaiselle kartan merkinnälle, kunnes kaikki merkinnät on käsitelty tai toiminto tekee poikkeuksen. |
Lajiteltu kartta -pääkartta (K toKey) | Se palauttaa avain-arvo-parit, joiden avaimet ovat ehdottomasti pienempiä kuin toKey. |
NavigableMap headMap (K toKey, boolean mukaan lukien) | Se palauttaa avain-arvo-parit, joiden avaimet ovat pienempiä kuin (tai yhtä suuret, jos inclusive on tosi) toKey. |
Map.Entry highEntry(K-näppäin) | Se palauttaa pienimmän avaimen, joka on ehdottomasti suurempi kuin annettu avain, tai nollan, jos sellaista avainta ei ole. |
K korkeampi avain (K avain) | Sitä käytetään palauttamaan tosi, jos tämä kartta sisältää määritetyn avaimen kuvauksen. |
Aseta keySet() | Se palauttaa kartalla olevien avainten kokoelman. |
Map.Entry lastEntry() | Se palauttaa avain-arvo-parin, jolla on suurin avain, tai nollan, jos sellaista avainta ei ole. |
Kartta.Syötteen alasyöttö(K-näppäin) | Se palauttaa avainarvovastaavuuden, joka liittyy suurimpaan avaimeen, joka on ehdottomasti pienempi kuin annettu avain, tai nollan, jos sellaista avainta ei ole. |
K-näppäin (K-näppäin) | Se palauttaa suurimman avaimen, joka on ehdottomasti pienempi kuin annettu avain, tai nollan, jos sellaista avainta ei ole. |
NavigableSet navigableKeySet() | Se palauttaa NavigableSet-näkymän tämän kartan avaimista. |
Map.Entry pollFirstEntry() | Se poistaa ja palauttaa avainarvovastaavuuden, joka liittyy tämän kartan pienimpään avaimeen, tai nollan, jos kartta on tyhjä. |
Map.Entry pollLastEntry() | Se poistaa ja palauttaa avainarvovastaavuuden, joka liittyy tämän kartan suurimpaan avaimeen tai tyhjään, jos kartta on tyhjä. |
V put (K-avain, V-arvo) | Se lisää määritetyn arvon määritetyllä avaimella karttaan. |
void putAll (karttakartta) | Sitä käytetään kopioimaan kaikki avain-arvo-pari kartasta toiseen. |
V korvaa (K-avain, V-arvo) | Se korvaa määritetyn avaimen määritetyn arvon. |
boolen korvaa (K avain, V vanha arvo, V uusi arvo) | Se korvaa vanhan arvon määritetyn avaimen uudella arvolla. |
void korvaa kaikki (BiFunction-toiminto) | Se korvaa jokaisen merkinnän arvon tuloksella, jolla kyseistä toimintoa kutsutaan kyseisessä merkinnässä, kunnes kaikki merkinnät on käsitelty tai funktio tekee poikkeuksen. |
NavigableMap-alikartta (K fromKey, boolean fromInclusive, K toKey, boolen toInclusive) | Se palauttaa avain-arvo-parit, joiden avaimet vaihtelevat Keystä Avaimeen. |
Lajiteltu kartan alikartta (K fromKey, K toKey) | Se palauttaa avainarvoparit, joiden avaimet vaihtelevat Key, inclusive, toKey, yksinomaiseen. |
Lajiteltu kartta tailMap (K fromKey) | Se palauttaa avainarvoparit, joiden avaimet ovat suurempia tai yhtä suuria kuin fromKey. |
NavigableMap tailMap (K fromKey, boolean mukaan lukien) | Se palauttaa avainarvoparit, joiden avaimet ovat suuremmat (tai yhtä suuret, jos inclusive on tosi) fromKey. |
boolean sisältääKey(Objektiavain) | Se palauttaa tosi, jos kartta sisältää määritetyn avaimen kuvauksen. |
boolean includeValue(objektiarvo) | Se palauttaa tosi, jos kartta yhdistää yhden tai useamman avaimen määritettyyn arvoon. |
K firstKey() | Sitä käytetään palauttamaan ensimmäinen (matalin) avain tällä hetkellä tässä lajiteltussa kartassa. |
V get (objektiavain) | Sitä käytetään palauttamaan arvo, johon kartta määrittää määritetyn avaimen. |
K lastKey() | Sitä käytetään palauttamaan viimeinen (korkein) avain tällä hetkellä lajitetussa kartassa. |
V poista (objektiavain) | Se poistaa määritetyn avaimen avain-arvo-parin kartalta. |
Aseta | Se palauttaa sarjanäkymän kartan sisältämistä kartoituksista. |
int size () | Se palauttaa hash-taulukossa olevien avain-arvo-parien määrän. |
Kokoelman arvot() | Se palauttaa kokoelmanäkymän kartan sisältämistä arvoista. |
Java TreeMap -esimerkki
import java.util.*; class TreeMap1{ public static void main(String args[]){ TreeMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); for(Map.Entry m:map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } }
Output:100 Amit 101 Vijay 102 Ravi 103 Rahul
Java TreeMap -esimerkki: remove()
import java.util.*; public class TreeMap2 { public static void main(String args[]) { TreeMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); System.out.println('Before invoking remove() method'); for(Map.Entry m:map.entrySet()) { System.out.println(m.getKey()+' '+m.getValue()); } map.remove(102); System.out.println('After invoking remove() method'); for(Map.Entry m:map.entrySet()) { System.out.println(m.getKey()+' '+m.getValue()); } } }
Lähtö:
usa kaupungin nimi
Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul
Java TreeMap Esimerkki: NavigableMap
import java.util.*; class TreeMap3{ public static void main(String args[]){ NavigableMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Maintains descending order System.out.println('descendingMap: '+map.descendingMap()); //Returns key-value pairs whose keys are less than or equal to the specified key. System.out.println('headMap: '+map.headMap(102,true)); //Returns key-value pairs whose keys are greater than or equal to the specified key. System.out.println('tailMap: '+map.tailMap(102,true)); //Returns key-value pairs exists in between the specified key. System.out.println('subMap: '+map.subMap(100, false, 102, true)); } }
descendingMap: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} headMap: {100=Amit, 101=Vijay, 102=Ravi} tailMap: {102=Ravi, 103=Rahul} subMap: {101=Vijay, 102=Ravi}
Java TreeMap Esimerkki: SortedMap
import java.util.*; class TreeMap4{ public static void main(String args[]){ SortedMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Returns key-value pairs whose keys are less than the specified key. System.out.println('headMap: '+map.headMap(102)); //Returns key-value pairs whose keys are greater than or equal to the specified key. System.out.println('tailMap: '+map.tailMap(102)); //Returns key-value pairs exists in between the specified key. System.out.println('subMap: '+map.subMap(100, 102)); } }
headMap: {100=Amit, 101=Vijay} tailMap: {102=Ravi, 103=Rahul} subMap: {100=Amit, 101=Vijay}
Mitä eroa on HashMapin ja TreeMapin välillä?
HashMap | TreeMap |
---|---|
1) HashMap voi sisältää yhden tyhjäavaimen. | TreeMap ei voi sisältää mitään tyhjää avainta. |
2) HashMap ei ylläpidä järjestystä. | TreeMap ylläpitää nousevaa järjestystä. |
Java TreeMap Esimerkki: Kirja
import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class MapExample { public static void main(String[] args) { //Creating map of Books Map map=new TreeMap(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to map map.put(2,b2); map.put(1,b1); map.put(3,b3); //Traversing map for(Map.Entry entry:map.entrySet()){ int key=entry.getKey(); Book b=entry.getValue(); System.out.println(key+' Details:'); System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } }
Lähtö:
1 Details: 101 Let us C Yashwant Kanetkar BPB 8 2 Details: 102 Data Communications & Networking Forouzan Mc Graw Hill 4 3 Details: 103 Operating System Galvin Wiley 6