Java TreeMap-klassen er en rød-svart trebasert implementering. Det gir en effektiv måte å lagre nøkkel-verdi-par i sortert rekkefølge.
De viktige punktene om Java TreeMap-klassen er:
- Java TreeMap inneholder verdier basert på nøkkelen. Den implementerer NavigableMap-grensesnittet og utvider AbstractMap-klassen.
- Java TreeMap inneholder bare unike elementer.
- Java TreeMap kan ikke ha en nullnøkkel, men kan ha flere nullverdier.
- Java TreeMap er ikke synkronisert.
- Java TreeMap opprettholder stigende rekkefølge.
TreeMap-klasseerklæring
La oss se erklæringen for java.util.TreeMap-klassen.
15 av 100,00
public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable
TreeMap klasse Parametere
La oss se parameterne for java.util.TreeMap-klassen.
Konstruktører av Java TreeMap-klassen
Konstruktør | Beskrivelse |
---|---|
Trekart() | Det brukes til å konstruere et tomt trekart som vil bli sortert ved å bruke den naturlige rekkefølgen til nøkkelen. |
TreeMap (komparator komparator) | Det brukes til å konstruere et tomt trebasert kart som vil bli sortert ved hjelp av komparatorkomp. |
Trekart(Kart m) | Den brukes til å initialisere et trekart med oppføringene fra m , som vil bli sortert ved hjelp av den naturlige rekkefølgen til nøklene. |
Trekart(Sortert kart m) | Den brukes til å initialisere et trekart med oppføringene fra SortedMap sm , som vil bli sortert i samme rekkefølge som sm. |
Metoder for Java TreeMap-klassen
Metode | Beskrivelse |
---|---|
Map.Entry ceilingEntry(K-tast) | Den returnerer nøkkel-verdi-paret som har den minste nøkkelen, større enn eller lik den angitte nøkkelen, eller null hvis det ikke finnes en slik nøkkel. |
K loftnøkkel (K nøkkel) | Den returnerer den minste nøkkelen, større enn den angitte nøkkelen eller null hvis det ikke finnes en slik nøkkel. |
void clear() | Den fjerner alle nøkkelverdi-parene fra et kart. |
Objekt klone() | Den returnerer en grunn kopi av TreeMap-forekomsten. |
Komparator komparator() | Den returnerer komparatoren som ordner nøkkelen i rekkefølge, eller null hvis kartet bruker den naturlige rekkefølgen. |
NavigableSet descendingKeySet() | Den returnerer en omvendt rekkefølge NavigableSet-visning av nøklene på kartet. |
NavigableMap descendingMap() | Den returnerer de angitte nøkkelverdi-parene i synkende rekkefølge. |
Map.Entry firstEntry() | Den returnerer nøkkel-verdi-paret som har den minste nøkkelen. |
Map.Entry floorEntry(K-tast) | Den returnerer den største nøkkelen, mindre enn eller lik den angitte nøkkelen, eller null hvis det ikke finnes en slik nøkkel. |
void forEach (BiConsumer-handling) | Den utfører den gitte handlingen for hver oppføring i kartet til alle oppføringer er behandlet eller handlingen gir et unntak. |
SortedMap headMap(K toKey) | Den returnerer nøkkel-verdi-parene hvis nøkler er strengt tatt mindre enn toKey. |
NavigableMap headMap (K toKey, boolsk inkludert) | Den returnerer nøkkel-verdi-parene hvis nøkler er mindre enn (eller lik hvis inkluderende er sant) toKey. |
Map.Entry higherEntry(K-tast) | Den returnerer den minste nøkkelen strengt tatt større enn den gitte nøkkelen, eller null hvis det ikke finnes en slik nøkkel. |
K høyere tast (K tast) | Den brukes til å returnere sann hvis dette kartet inneholder en tilordning for den angitte nøkkelen. |
Sett keySet() | Den returnerer samlingen av nøkler som finnes i kartet. |
Map.Entry lastEntry() | Den returnerer nøkkel-verdi-paret som har den største nøkkelen, eller null hvis det ikke finnes en slik nøkkel. |
Map.Entry lowerEntry(K-tast) | Den returnerer en nøkkel-verdi-tilordning knyttet til den største nøkkelen strengt tatt mindre enn den gitte nøkkelen, eller null hvis det ikke finnes en slik nøkkel. |
K lavere tast (K-tast) | Den returnerer den største nøkkelen strengt tatt mindre enn den gitte nøkkelen, eller null hvis det ikke finnes en slik nøkkel. |
NavigableSet navigableKeySet() | Den returnerer en NavigableSet-visning av nøklene i dette kartet. |
Map.Entry pollFirstEntry() | Den fjerner og returnerer en nøkkelverdi-tilordning knyttet til den minste nøkkelen i dette kartet, eller null hvis kartet er tomt. |
Map.Entry pollLastEntry() | Den fjerner og returnerer en nøkkelverdi-tilordning knyttet til den største nøkkelen i dette kartet, eller null hvis kartet er tomt. |
V-sett (K-tast, V-verdi) | Den setter inn den angitte verdien med den angitte nøkkelen i kartet. |
void putAll(Kart kart) | Den brukes til å kopiere alle nøkkelverdi-parene fra ett kart til et annet kart. |
V erstatte (K-tast, V-verdi) | Den erstatter den angitte verdien for en spesifisert nøkkel. |
boolsk erstatt (K-tast, V oldValue, V newValue) | Den erstatter den gamle verdien med den nye verdien for en spesifisert nøkkel. |
void replaceAll (BiFunction-funksjon) | Den erstatter hver oppførings verdi med resultatet av å påkalle den gitte funksjonen på den oppføringen til alle oppføringer er behandlet eller funksjonen gir et unntak. |
NavigableMap subMap(K fraNøkkel, boolsk fraInklusive, K tilKey, Boolsk tilInkluderende) | Den returnerer nøkkel-verdi-par hvis nøkler varierer fra fra nøkkel til nøkkel. |
Sortert kart underkart (K fra nøkkel, K til nøkkel) | Den returnerer nøkkelverdi-par hvis nøkler spenner fra fra Key, inklusive, til toKey, eksklusive. |
Sorted Map tailMap (K fraKey) | Den returnerer nøkkel-verdi-par hvis nøkler er større enn eller lik fromKey. |
NavigableMap tailMap (K fromKey, boolsk inkludert) | Den returnerer nøkkel-verdi-par hvis nøkler er større enn (eller lik, hvis inkluderende er sant) fromKey. |
boolean containsKey(Objektnøkkel) | Det returnerer sant hvis kartet inneholder en tilordning for den angitte nøkkelen. |
boolean containsValue(Objektverdi) | Det returnerer sant hvis kartet tilordner én eller flere nøkler til den angitte verdien. |
K firstKey() | Den brukes til å returnere den første (laveste) nøkkelen i dette sorterte kartet. |
V get (objektnøkkel) | Den brukes til å returnere verdien som kartet tilordner den angitte nøkkelen til. |
K lastKey() | Den brukes til å returnere den siste (høyeste) nøkkelen i det sorterte kartet. |
V fjern (objektnøkkel) | Den fjerner nøkkelverdi-paret til den angitte nøkkelen fra kartet. |
Sett | Den returnerer en sett visning av kartene i kartet. |
int størrelse() | Den returnerer antallet nøkkelverdi-par som finnes i hashtabellen. |
Samlingsverdier() | Den returnerer en samlingsvisning av verdiene i kartet. |
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()); } } }
Produksjon:
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}
Hva er forskjellen mellom HashMap og TreeMap?
HashMap | Trekart |
---|---|
1) HashMap kan inneholde én nullnøkkel. | TreeMap kan ikke inneholde noen nullnøkkel. |
2) HashMap opprettholder ingen orden. | TreeMap opprettholder stigende rekkefølge. |
Java TreeMap Eksempel: 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); } } }
Produksjon:
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