logo

Java TreeMap osztály

Java TreeMap osztályhierarchia

A Java TreeMap osztály egy piros-fekete fa alapú megvalósítás. Hatékony eszközt biztosít a kulcs-érték párok rendezett sorrendben történő tárolására.

A Java TreeMap osztály legfontosabb pontjai a következők:

  • A Java TreeMap a kulcson alapuló értékeket tartalmaz. Megvalósítja a NavigableMap felületet, és kiterjeszti az AbstractMap osztályt.
  • A Java TreeMap csak egyedi elemeket tartalmaz.
  • A Java TreeMap nem rendelkezhet nullkulccsal, de több nullértékkel rendelkezhet.
  • A Java TreeMap nincs szinkronizálva.
  • A Java TreeMap növekvő sorrendet tart fenn.

TreeMap osztály deklaráció

Lássuk a java.util.TreeMap osztály deklarációját.

latex betűtípus
 public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable 

TreeMap osztály Paraméterek

Lássuk a java.util.TreeMap osztály paramétereit.

    K: Ez a térkép által karbantartott kulcsok típusa.BAN BEN: Ez a leképezett értékek típusa.

A Java TreeMap osztály konstruktőrei

KonstruktőrLeírás
TreeMap()Üres fatérkép létrehozására szolgál, amelyet a kulcs természetes sorrendje szerint rendeznek.
TreeMap (összehasonlító összehasonlító)Egy üres fa alapú térkép összeállítására szolgál, amelyet a komparátor comp segítségével rendezünk.
TreeMap (m térkép)Egy fatérkép inicializálására szolgál a következő bejegyzésekkel m , amelyek a billentyűk természetes sorrendjében lesznek rendezve.
TreeMap (rendezett térkép m)Egy fatérkép inicializálására szolgál a SortedMap bejegyzéseivel sm , amelyek ugyanabban a sorrendben lesznek rendezve, mint sm.

A Java TreeMap osztály módszerei

MódszerLeírás
Térkép. Bejárati plafon Belépés (K gomb)Azt a kulcs-érték párt adja vissza, amelynek a legkisebb kulcsa van, nagyobb vagy egyenlő a megadott kulccsal, vagy nulla, ha nincs ilyen kulcs.
K mennyezeti kulcs (K gomb)A legkisebb kulcsot adja vissza, amely nagyobb a megadott kulcsnál, vagy nullát, ha nincs ilyen kulcs.
void clear()Eltávolítja az összes kulcs-érték párt a térképről.
Objektum klón()A TreeMap példány sekély másolatát adja vissza.
Összehasonlító összehasonlító()Visszaadja azt az összehasonlítót, amely a kulcsot sorrendbe rendezi, vagy nullát, ha a térkép a természetes sorrendet használja.
NavigableSet descendingKeySet()Fordított sorrendű NavigableSet nézetet ad vissza a térképen található kulcsokról.
NavigableMap descendingMap()A megadott kulcs-érték párokat csökkenő sorrendben adja vissza.
Térkép.Entry firstEntry()A legkisebb kulccsal rendelkező kulcs-érték párral tér vissza.
Map.Entry floorEntry (K gomb)A legnagyobb kulcsot adja vissza, amely kisebb vagy egyenlő, mint a megadott kulcs, vagy nullát, ha nincs ilyen kulcs.
érvénytelen forEach (BiConsumer akció)Az adott műveletet a térkép minden egyes bejegyzésére végrehajtja, amíg az összes bejegyzést fel nem dolgozta, vagy a művelet kivételt nem tesz.
SortedMap fejtérkép (K toKey)Azokat a kulcs-érték párokat adja vissza, amelyek kulcsai szigorúan kisebbek, mint a toKey.
NavigableMap fejtérkép (K toKey, logikai értékkel együtt)Azokat a kulcs-érték párokat adja vissza, amelyek kulcsai kisebbek (vagy egyenlőek, ha az inclusive érték igaz) toKey.
Map.Entry highEntry(K gomb)Az adott kulcsnál szigorúan nagyobb legkisebb kulcsot adja vissza, vagy nullát, ha nincs ilyen kulcs.
K magasabb kulcs (K kulcs)Ha ez a leképezés tartalmazza a megadott kulcshoz tartozó leképezést, akkor ad vissza true értékkel.
Set keySet()A térképen létező kulcsok gyűjteményét adja vissza.
Map.Entry lastEntry()A legnagyobb kulccsal rendelkező kulcs-érték párt adja vissza, vagy nullát, ha nincs ilyen kulcs.
Térképbejegyzés alsó Bejegyzés (K gomb)A legnagyobb kulcshoz tartozó kulcsérték-leképezést adja vissza, amely szigorúan kisebb, mint az adott kulcs, vagy nullát ad vissza, ha nincs ilyen kulcs.
K alsó gomb (K billentyű)A legnagyobb kulcsot szigorúan kisebb értékkel adja vissza, mint az adott kulcsot, vagy nullát, ha nincs ilyen kulcs.
NavigableSet navigableKeySet()A térképen található kulcsok NavigableSet nézetét adja vissza.
Map.Entry pollFirstEntry()Eltávolítja és visszaadja a leképezés legkisebb kulcsához társított kulcsérték-leképezést, vagy nullát, ha a térkép üres.
Map.Entry pollLastEntry()Eltávolítja és visszaadja a leképezés legnagyobb kulcsához társított kulcsérték-leképezést, vagy nullát, ha a térkép üres.
V put (K kulcs, V érték)A megadott értéket a megadott kulccsal beszúrja a térképbe.
void putAll (térkép térkép)Az összes kulcs-érték pár átmásolására szolgál egyik térképről a másikra.
V csere (K kulcs, V érték)A megadott kulcshoz tartozó értéket helyettesíti.
logikai csere (K kulcs, V régiérték, V újérték)Lecseréli a régi értéket egy adott kulcs új értékére.
érvénytelen csereAll (BiFunction funkció)Minden bejegyzés értékét lecseréli az adott függvény meghívásának eredményére, amíg az összes bejegyzés feldolgozásra nem kerül, vagy a függvény kivételt nem dob.
NavigableMap altérkép (K fromKey, logikai érték inkluzívtól, K toKey, logikai értéktől inclusive)Olyan kulcs-érték párokat ad vissza, amelyek kulcsai Key-től Kulcsig terjednek.
Rendezetttérkép altérkép (K fromKey, K toKey)Olyan kulcs-érték párokat ad vissza, amelyek kulcsai a Key, inclusive és a toKey, exkluzív között mozognak.
Rendezetttérkép faroktérkép (K fromKey)Olyan kulcs-érték párokat ad vissza, amelyek kulcsai nagyobbak vagy egyenlők a fromKey-vel.
NavigableMap tailMap (K fromKey, logikai érték is)Olyan kulcs-érték párokat ad vissza, amelyek kulcsai nagyobbak (vagy egyenlőek, ha az inclusive érték igaz) fromKey.
logikai érték tartalmazzaKey (objektumkulcs)Igazat ad vissza, ha a leképezés tartalmazza a megadott kulcshoz tartozó leképezést.
logikai érték tartalmazza(objektumérték)Igazat ad vissza, ha a leképezés egy vagy több kulcsot leképez a megadott értékre.
K firstKey()A rendezett térképen jelenleg az első (legalacsonyabb) kulcs visszaadására szolgál.
V get (objektumkulcs)Azt az értéket adja vissza, amelyre a térkép leképezi a megadott kulcsot.
K lastKey()A rendezett térképen aktuálisan az utolsó (legmagasabb) kulcs visszaadására szolgál.
V eltávolítás (objektumkulcs)Eltávolítja a megadott kulcs kulcs-érték párját a térképről.
KészletentrySet()A térképen található leképezések beállított nézetét adja vissza.
int size()A hashtableban található kulcs-érték párok számát adja vissza.
Gyűjteményértékek()A térképen található értékek gyűjteménynézetét adja vissza.

Java TreeMap példa

 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 példa: 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()); } } } 

Kimenet:

rekha indián
 Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul 

Java TreeMap példa: 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 példa: 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} 

Mi a különbség a HashMap és a TreeMap között?

HashMapTreeMap
1) A HashMap egy null kulcsot tartalmazhat.A TreeMap nem tartalmazhat null kulcsot.
2) A HashMap nem tart fenn rendet.A TreeMap fenntartja a növekvő sorrendet.

Java TreeMap Példa: Könyv

 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); } } } 

Kimenet:

 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