Java TreeMap klass
Java TreeMap-klassen är en röd-svart trädbaserad implementering. Det ger ett effektivt sätt att lagra nyckel-värdepar i sorterad ordning.
De viktiga punkterna om Java TreeMap-klassen är:
- Java TreeMap innehåller värden baserade på nyckeln. Den implementerar NavigableMap-gränssnittet och utökar klassen AbstractMap.
- Java TreeMap innehåller endast unika element.
- Java TreeMap kan inte ha en nullnyckel men kan ha flera nollvärden.
- Java TreeMap är osynkroniserat.
- Java TreeMap upprätthåller stigande ordning.
TreeMap-klassdeklaration
Låt oss se deklarationen för klassen java.util.TreeMap.
public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable
TreeMap klassparametrar
Låt oss se parametrarna för klassen java.util.TreeMap.
Konstruktörer av Java TreeMap-klassen
| Konstruktör | Beskrivning |
|---|---|
| TreeMap() | Den används för att konstruera en tom trädkarta som kommer att sorteras med den naturliga ordningen för dess nyckel. |
| TreeMap(Comparator comparator) | Den används för att konstruera en tom trädbaserad karta som kommer att sorteras med hjälp av komparatorkomp. |
| Trädkarta (karta m) | Den används för att initiera en trädkarta med posterna från m , som kommer att sorteras med hjälp av nycklarnas naturliga ordning. |
| Trädkarta(Sorterad karta m) | Den används för att initiera en trädkarta med posterna från SortedMap sm , som kommer att sorteras i samma ordning som sm. |
Metoder för Java TreeMap-klassen
| Metod | Beskrivning |
|---|---|
| Map.Entry ceilingEntry(K-nyckel) | Det returnerar nyckel-värdeparet som har den minsta nyckeln, större än eller lika med den angivna nyckeln, eller null om det inte finns någon sådan nyckel. |
| K roofKey (K key) | Den returnerar den minsta nyckeln, större än den angivna nyckeln eller null om det inte finns någon sådan nyckel. |
| void clear() | Den tar bort alla nyckel-värdepar från en karta. |
| Object clone() | Den returnerar en ytlig kopia av TreeMap-instansen. |
| Comparator comparator() | Den returnerar komparatorn som ordnar nyckeln i ordning, eller null om kartan använder den naturliga ordningen. |
| NavigableSet descendingKeySet() | Den returnerar en NavigableSet-vy i omvänd ordning av nycklarna som finns på kartan. |
| NavigableMap descendingMap() | Den returnerar de angivna nyckel-värdeparen i fallande ordning. |
| Map.Entry firstEntry() | Den returnerar nyckel-värdeparet som har den minsta nyckeln. |
| Map.Entry floorEntry(K-nyckel) | Den returnerar den största nyckeln, mindre än eller lika med den specificerade nyckeln, eller null om det inte finns någon sådan nyckel. |
| void forEach (BiConsumer action) | Den utför den givna åtgärden för varje post i kartan tills alla poster har bearbetats eller åtgärden ger ett undantag. |
| SortedMap headMap(K toKey) | Den returnerar nyckel-värdeparen vars nycklar är strikt mindre än toKey. |
| NavigableMap headMap (K toKey, inklusive boolean) | Den returnerar nyckel-värdeparen vars nycklar är mindre än (eller lika med om inklusive är sant) toKey. |
| Map.Entry higherEntry(K-tangent) | Den returnerar den minsta nyckeln som är strikt större än den givna nyckeln, eller null om det inte finns någon sådan nyckel. |
| K högre tangent (K tangent) | Den används för att returnera true om denna karta innehåller en mappning för den angivna nyckeln. |
| Ställ in keySet() | Det returnerar samlingen av nycklar som finns på kartan. |
| Map.Entry lastEntry() | Den returnerar nyckel-värdeparet som har den största nyckeln, eller null om det inte finns någon sådan nyckel. |
| Map.Entry lowerEntry(K-tangent) | Den returnerar en nyckel-värde-mappning associerad med den största nyckeln som är strikt mindre än den givna nyckeln, eller null om det inte finns någon sådan nyckel. |
| K lägre tangent (K tangent) | Den returnerar den största nyckeln strikt mindre än den givna nyckeln, eller null om det inte finns någon sådan nyckel. |
| NavigableSet navigableKeySet() | Den returnerar en NavigableSet-vy av nycklarna i denna karta. |
| Map.Entry pollFirstEntry() | Den tar bort och returnerar en nyckel-värde-mappning som är associerad med den minsta nyckeln i denna karta, eller null om kartan är tom. |
| Map.Entry pollLastEntry() | Den tar bort och returnerar en nyckel-värde-mappning som är associerad med den största nyckeln i denna karta, eller null om kartan är tom. |
| V put(K-nyckel, V-värde) | Den infogar det angivna värdet med den angivna nyckeln i kartan. |
| void putAll(Map map) | Den används för att kopiera alla nyckel-värdepar från en karta till en annan karta. |
| V ersätt (K-nyckel, V-värde) | Den ersätter det angivna värdet för en angiven nyckel. |
| boolean replace(K-nyckel, V oldValue, V newValue) | Det ersätter det gamla värdet med det nya värdet för en angiven nyckel. |
| void replaceAll (BiFunction-funktion) | Den ersätter varje posts värde med resultatet av att anropa den givna funktionen på den posten tills alla poster har bearbetats eller funktionen ger ett undantag. |
| NavigableMap subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) | Den returnerar nyckel-värdepar vars nycklar sträcker sig från fromKey till toKey. |
| SortedMap subMap(K fromKey, K toKey) | Den returnerar nyckel-värdepar vars nycklar sträcker sig från från Key, inklusive, till toKey, exklusiv. |
| SortedMap tailMap(K frånKey) | Den returnerar nyckel-värdepar vars nycklar är större än eller lika med fromKey. |
| NavigableMap tailMap (K fromKey, boolean inklusive) | Den returnerar nyckel-värdepar vars nycklar är större än (eller lika med, om inklusive är sant) fromKey. |
| boolean containsKey(Objektnyckel) | Den returnerar sant om kartan innehåller en mappning för den angivna nyckeln. |
| boolean containsValue(Objektvärde) | Den returnerar sant om kartan mappar en eller flera nycklar till det angivna värdet. |
| K firstKey() | Den används för att returnera den första (lägsta) nyckeln för närvarande i denna sorterade karta. |
| V get (objektnyckel) | Den används för att returnera det värde som kartan mappar den angivna nyckeln till. |
| K lastKey() | Den används för att returnera den sista (högsta) nyckeln för närvarande i den sorterade kartan. |
| V ta bort (objektnyckel) | Den tar bort nyckel-värdeparet för den angivna nyckeln från kartan. |
| Uppsättning | Den returnerar en inställd vy av mappningarna som finns på kartan. |
| int storlek() | Den returnerar antalet nyckel-värdepar som finns i hashtabellen. |
| Samlingsvärden() | Den returnerar en samlingsvy av värdena som finns i kartan. |
Java TreeMap Exempel
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 Exempel: 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()); } } } Produktion:
Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul
Java TreeMap Exempel: 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 Exempel: 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} Vad är skillnaden mellan HashMap och TreeMap?
| HashMap | Trädkarta |
|---|---|
| 1) HashMap kan innehålla en null-nyckel. | TreeMap kan inte innehålla någon null-nyckel. |
| 2) HashMap upprätthåller ingen ordning. | TreeMap upprätthåller stigande ordning. |
Java TreeMap Exempel: Bok
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); } } } Produktion:
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