logo

Java TreeMap klasa

Java TreeMap hijerarhija klasa

Java TreeMap klasa je implementacija bazirana na crveno-crnom stablu. Omogućuje učinkovit način pohranjivanja parova ključ-vrijednost sortiranim redoslijedom.

Važne točke o klasi Java TreeMap su:

  • Java TreeMap sadrži vrijednosti temeljene na ključu. Implementira sučelje NavigableMap i proširuje klasu AbstractMap.
  • Java TreeMap sadrži samo jedinstvene elemente.
  • Java TreeMap ne može imati null ključ, ali može imati više null vrijednosti.
  • Java TreeMap nije sinkroniziran.
  • Java TreeMap održava uzlazni poredak.

Deklaracija klase TreeMap

Pogledajmo deklaraciju za klasu java.util.TreeMap.

python // operator
 public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable 

Parametri klase TreeMap

Pogledajmo parametre za klasu java.util.TreeMap.

    K: To je vrsta ključeva koju ova karta održava.U: To je vrsta mapiranih vrijednosti.

Konstruktori klase Java TreeMap

KonstruktorOpis
TreeMap()Koristi se za konstruiranje prazne karte stabla koja će biti sortirana prema prirodnom redoslijedu svog ključa.
TreeMap (komparator komparator)Koristi se za izradu prazne karte temeljene na stablu koja će biti sortirana pomoću komparatora komparatora.
TreeMap (karta m)Koristi se za inicijalizaciju karte stabla s unosima iz m , koji će biti poredani prirodnim redoslijedom ključeva.
TreeMap(SortedMap m)Koristi se za inicijalizaciju mape stabla s unosima iz SortedMap-a sm , koji će biti poredani istim redoslijedom kao sm.

Metode Java TreeMap klase

metodaOpis
Map.Entry strop Entry(K tipka)Vraća par ključ-vrijednost koji ima najmanji ključ, veći ili jednak navedenom ključu ili nulu ako takav ključ ne postoji.
K stropni ključ (K ključ)Vraća najmanji ključ, veći od navedenog ključa ili null ako ne postoji takav ključ.
praznina jasno()Uklanja sve parove ključ-vrijednost s karte.
Klon objekta()Vraća plitku kopiju instance TreeMap.
komparator komparator()Vraća komparator koji slaže ključ po redu ili null ako mapa koristi prirodni poredak.
NavigableSet descendingKeySet()Vraća pogled NavigableSet obrnutim redoslijedom ključeva sadržanih na karti.
NavigableMap descendingMap()Vraća navedene parove ključ-vrijednost silaznim redoslijedom.
Map.Entry firstEntry()Vraća par ključ-vrijednost koji ima najmanji ključ.
Map.Entry floorEntry(tipka K)Vraća najveći ključ, manji ili jednak navedenom ključu, ili null ako takav ključ ne postoji.
void forEach(radnja BiConsumer)Izvodi zadanu radnju za svaki unos u mapi sve dok se svi unosi ne obrade ili dok akcija ne izbaci iznimku.
SortedMap headMap(K toKey)Vraća parove ključ-vrijednost čiji su ključevi striktno manji od toKey.
NavigableMap headMap (od K do ključa, uključivo booleov)Vraća parove ključ-vrijednost čiji su ključevi manji od (ili jednaki ako je uključivo istinito) toKey.
Map.Entry aboveEntry(tipka K)Vraća najmanji ključ striktno veći od danog ključa ili null ako takav ključ ne postoji.
K viši ključ (K ključ)Koristi se za vraćanje true ako ova mapa sadrži mapiranje za navedeni ključ.
Postavi keySet()Vraća zbirku ključeva koji postoje u mapi.
Map.Entry lastEntry()Vraća par ključ-vrijednost koji ima najveći ključ ili null ako takav ključ ne postoji.
Map.Entry lowerEntry(tipka K)Vraća mapiranje ključ-vrijednost povezano s najvećim ključem koji je striktno manji od danog ključa ili null ako takav ključ ne postoji.
K niža tipka (K tipka)Vraća najveći ključ striktno manji od danog ključa ili null ako takav ključ ne postoji.
NavigableSet navigableKeySet()Vraća prikaz NavigableSet ključeva sadržanih u ovoj karti.
Map.Entry pollFirstEntry()Uklanja i vraća preslikavanje ključa i vrijednosti povezano s najmanjim ključem u ovoj mapi ili null ako je mapa prazna.
Map.Entry pollLastEntry()Uklanja i vraća preslikavanje ključa i vrijednosti povezano s najvećim ključem u ovoj mapi ili null ako je mapa prazna.
V staviti (K ključ, V vrijednost)Umeće navedenu vrijednost s navedenim ključem u mapu.
void putAll(Map map)Koristi se za kopiranje svih parova ključ-vrijednost s jedne karte na drugu kartu.
V zamjena (K ključ, V vrijednost)Zamjenjuje navedenu vrijednost za određeni ključ.
boolean zamjena (ključ K, V stara vrijednost, V nova vrijednost)Zamjenjuje staru vrijednost novom vrijednošću za određeni ključ.
void replaceAll (funkcija BiFunction)Zamjenjuje vrijednost svakog unosa rezultatom pozivanja dane funkcije na tom unosu dok se svi unosi ne obrade ili funkcija ne izbaci iznimku.
NavigableMap subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)Vraća parove ključ-vrijednost čiji se ključevi kreću od fromKey do toKey.
SortedMap subMap(K fromKey, K toKey)Vraća parove ključ-vrijednost čiji ključevi variraju od fromKey, inclusive, do toKey, ekskluzivno.
SortedMap tailMap(K fromKey)Vraća parove ključ-vrijednost čiji su ključevi veći ili jednaki fromKey.
NavigableMap tailMap(K fromKey, uključivo booleov)Vraća parove ključ-vrijednost čiji su ključevi veći od (ili jednaki, ako je uključivo istinito) fromKey.
boolean containsKey(ključ objekta)Vraća true ako mapa sadrži mapiranje za navedeni ključ.
boolean containsValue(vrijednost objekta)Vraća true ako karta preslikava jedan ili više ključeva na navedenu vrijednost.
K prvi ključ()Koristi se za vraćanje prvog (najnižeg) ključa trenutno u ovoj sortiranoj mapi.
V get (ključ objekta)Koristi se za vraćanje vrijednosti na koju mapa preslikava navedeni ključ.
K zadnjiKljuč()Koristi se za vraćanje posljednjeg (najvišeg) ključa trenutno u sortiranoj mapi.
V ukloniti (ključ objekta)Uklanja par ključ-vrijednost navedenog ključa s karte.
setunosSet()Vraća postavljeni prikaz preslikavanja sadržanih u karti.
int size()Vraća broj parova ključ-vrijednost koji postoji u hash tablici.
Vrijednosti zbirke()Vraća prikaz zbirke vrijednosti sadržanih u karti.

Primjer 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 

Primjer Java TreeMap: 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()); } } } 

Izlaz:

10 od 100,00 kn
 Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul 

Primjer Java TreeMap: 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} 

Primjer Java TreeMap: 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} 

Koja je razlika između HashMapa i TreeMapa?

HashMapTreeMap
1) HashMap može sadržavati jedan null ključ.TreeMap ne može sadržavati nijedan nulti ključ.
2) HashMap ne održava red.TreeMap održava uzlazni poredak.

Primjer Java TreeMap: Knjiga

 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); } } } 

Izlaz:

 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