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.
A Java TreeMap osztály konstruktőrei
Konstruktőr | Leí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ódszer | Leí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észlet | 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?
HashMap | TreeMap |
---|---|
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