Java TreeMap-klassen er en rød-sort træbaseret implementering. Det giver et effektivt middel til at gemme nøgle-værdi-par i sorteret rækkefølge.
De vigtige punkter om Java TreeMap-klassen er:
- Java TreeMap indeholder værdier baseret på nøglen. Det implementerer NavigableMap-grænsefladen og udvider AbstractMap-klassen.
- Java TreeMap indeholder kun unikke elementer.
- Java TreeMap kan ikke have en null-nøgle, men kan have flere null-værdier.
- Java TreeMap er ikke-synkroniseret.
- Java TreeMap opretholder stigende rækkefølge.
TreeMap-klassedeklaration
Lad os se erklæringen for java.util.TreeMap-klassen.
bash variabel
public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable
TreeMap klasse Parametre
Lad os se parametrene for java.util.TreeMap-klassen.
Konstruktører af Java TreeMap-klassen
Konstruktør | Beskrivelse |
---|---|
TreeMap() | Det bruges til at konstruere et tomt trækort, der vil blive sorteret ved hjælp af dens naturlige rækkefølge. |
TreeMap (Komparator komparator) | Det bruges til at konstruere et tomt træbaseret kort, som vil blive sorteret ved hjælp af komparatorkomp. |
Trækort (kort m) | Det bruges til at initialisere et trækort med indtastningerne fra m , som vil blive sorteret ved hjælp af den naturlige rækkefølge af tasterne. |
TreeMap(Sorteret kort m) | Det bruges til at initialisere et trækort med indtastningerne fra SortedMap sm , som vil blive sorteret i samme rækkefølge som sm. |
Metoder til Java TreeMap-klassen
Metode | Beskrivelse |
---|---|
Map.Entry loftindgang(K-tast) | Det returnerer nøgle-værdi-parret med den mindste nøgle, større end eller lig med den angivne nøgle, eller nul, hvis der ikke er en sådan nøgle. |
K loftnøgle(K nøgle) | Den returnerer den mindste nøgle, større end den angivne nøgle eller null, hvis der ikke er en sådan nøgle. |
void clear() | Det fjerner alle nøgleværdi-par fra et kort. |
Objekt klon() | Det returnerer en overfladisk kopi af TreeMap-forekomsten. |
Komparator komparator() | Det returnerer komparatoren, der arrangerer nøglen i rækkefølge, eller nul, hvis kortet bruger den naturlige rækkefølge. |
NavigableSet descendingKeySet() | Det returnerer en NavigableSet-visning i omvendt rækkefølge af tasterne på kortet. |
NavigableMap descendingMap() | Det returnerer de angivne nøgleværdi-par i faldende rækkefølge. |
Map.Entry firstEntry() | Det returnerer det nøgle-værdi-par, der har den mindste nøgle. |
Map.Entry floorEntry(K-tast) | Den returnerer den største nøgle, mindre end eller lig med den specificerede nøgle, eller nul, hvis der ikke er en sådan nøgle. |
void forEach (BiConsumer action) | Den udfører den givne handling for hver post i kortet, indtil alle poster er blevet behandlet, eller handlingen kaster en undtagelse. |
SortedMap headMap(K toKey) | Det returnerer nøgle-værdi-parrene, hvis nøgler er strengt mindre end toKey. |
NavigableMap headMap (K toKey, boolean inklusive) | Det returnerer nøgle-værdi-parrene, hvis nøgler er mindre end (eller lig med, hvis inklusive er sandt) toKey. |
Map.Entry higherEntry(K-tast) | Det returnerer den mindste nøgle strengt taget større end den givne nøgle, eller nul, hvis der ikke er en sådan nøgle. |
K højere tast (K nøgle) | Det bruges til at returnere sand, hvis dette kort indeholder en mapping for den angivne nøgle. |
Indstil keySet() | Det returnerer samlingen af nøgler, der findes på kortet. |
Map.Entry lastEntry() | Det returnerer det nøgle-værdi-par, der har den største nøgle, eller nul, hvis der ikke er en sådan nøgle. |
Map.Entry lowerEntry(K-tast) | Det returnerer en nøgle-værdi-tilknytning, der er forbundet med den største nøgle, strengt taget mindre end den givne nøgle, eller null, hvis der ikke er en sådan nøgle. |
K lavere tast (K tast) | Den returnerer den største nøgle strengt mindre end den givne nøgle, eller nul, hvis der ikke er en sådan nøgle. |
NavigableSet navigableKeySet() | Det returnerer en NavigableSet-visning af nøglerne på dette kort. |
Map.Entry pollFirstEntry() | Den fjerner og returnerer en nøgleværdi-tilknytning, der er knyttet til den mindste nøgle i dette kort, eller null, hvis kortet er tomt. |
Map.Entry pollLastEntry() | Det fjerner og returnerer en nøgleværdi-tilknytning, der er knyttet til den største nøgle i dette kort, eller null, hvis kortet er tomt. |
V put(K nøgle, V værdi) | Den indsætter den angivne værdi med den angivne nøgle i kortet. |
void putAll(Kortkort) | Det bruges til at kopiere alle nøgleværdi-parret fra et kort til et andet kort. |
V erstatte (K nøgle, V værdi) | Den erstatter den angivne værdi for en specificeret nøgle. |
boolesk erstatning (K-tast, V oldValue, V newValue) | Den erstatter den gamle værdi med den nye værdi for en specificeret nøgle. |
void replaceAll (BiFunction-funktion) | Den erstatter hver posts værdi med resultatet af at kalde den givne funktion på denne post, indtil alle poster er blevet behandlet, eller funktionen afgiver en undtagelse. |
NavigableMap subMap(K fraKey, boolean fraInklusive, K tilKey, boolean tilInklusive) | Det returnerer nøgle-værdi-par, hvis nøgler spænder fra fra nøgle til nøgle. |
SortedMap subMap(K fromKey, K toKey) | Det returnerer nøgle-værdi-par, hvis nøgler spænder fra fra Key, inklusive, til toKey, eksklusive. |
SortedMap haleMap(K fraKey) | Det returnerer nøgle-værdi-par, hvis nøgler er større end eller lig med fromKey. |
NavigableMap tailMap (K fromKey, boolean inklusive) | Det returnerer nøgle-værdi-par, hvis nøgler er større end (eller lig med, hvis inklusive er sandt) fromKey. |
boolean containsKey(Objektnøgle) | Det returnerer sandt, hvis kortet indeholder en mapping for den angivne nøgle. |
boolean containsValue(Objektværdi) | Det returnerer sandt, hvis kortet kortlægger en eller flere nøgler til den angivne værdi. |
K første nøgle() | Den bruges til at returnere den første (laveste) nøgle i øjeblikket på dette sorterede kort. |
V get(Objektnøgle) | Det bruges til at returnere den værdi, som kortet tilordner den angivne nøgle til. |
K lastKey() | Den bruges til at returnere den sidste (højeste) nøgle i øjeblikket på det sorterede kort. |
V fjern (objektnøgle) | Det fjerner nøgleværdi-parret for den angivne nøgle fra kortet. |
Sæt | Den returnerer en fast visning af kortlægningerne på kortet. |
int størrelse() | Det returnerer antallet af nøgle-værdi-par, der findes i hashtabellen. |
Samlingsværdier() | Det returnerer en samlingsvisning af værdierne på kortet. |
Eksempel på Java TreeMap
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 Eksempel: 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:
liste java til array
Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul
Java TreeMap Eksempel: 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 Eksempel: 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}
Hvad er forskellen mellem HashMap og TreeMap?
HashMap | Trækort |
---|---|
1) HashMap kan indeholde én null-nøgle. | TreeMap kan ikke indeholde nogen null-nøgle. |
2) HashMap opretholder ingen orden. | TreeMap opretholder stigende rækkefølge. |
Java TreeMap Eksempel: Bog
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