logo

Java TreeMap klasse

Java TreeMap klassehierarki

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.

    K: Det er den type nøgler, der vedligeholdes af dette kort.I: Det er typen af ​​kortlagte værdier.

Konstruktører af Java TreeMap-klassen

KonstruktørBeskrivelse
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

MetodeBeskrivelse
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ætentrySet()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?

HashMapTræ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