logo

Razred Java TreeMap

Hierarhija razredov Java TreeMap

Razred Java TreeMap je implementacija, ki temelji na rdeče-črnem drevesu. Zagotavlja učinkovito sredstvo za shranjevanje parov ključ-vrednost v razvrščenem vrstnem redu.

Pomembne točke o razredu Java TreeMap so:

  • Java TreeMap vsebuje vrednosti na podlagi ključa. Izvaja vmesnik NavigableMap in razširja razred AbstractMap.
  • Java TreeMap vsebuje samo edinstvene elemente.
  • Java TreeMap ne more imeti ničelnega ključa, lahko pa ima več ničelnih vrednosti.
  • Java TreeMap ni sinhroniziran.
  • Java TreeMap ohranja naraščajoči vrstni red.

Deklaracija razreda TreeMap

Oglejmo si deklaracijo za razred java.util.TreeMap.

kopica in kopica sort
 public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable 

Parametri razreda TreeMap

Oglejmo si parametre za razred java.util.TreeMap.

    K: To je vrsta ključev, ki jih vzdržuje ta zemljevid.IN: To je vrsta preslikanih vrednosti.

Konstruktorji razreda Java TreeMap

KonstruktorOpis
TreeMap()Uporablja se za izdelavo praznega drevesnega zemljevida, ki bo razvrščen po naravnem vrstnem redu njegovega ključa.
TreeMap (primerjalnik primerjalnik)Uporablja se za izdelavo praznega drevesnega zemljevida, ki bo razvrščen s primerjalnikom comparator.
TreeMap (zemljevid m)Uporablja se za inicializacijo drevesnega zemljevida z vnosi iz m , ki bo razvrščen po naravnem vrstnem redu ključev.
TreeMap(SortedMap m)Uporablja se za inicializacijo drevesnega zemljevida z vnosi iz SortedMap sm , ki bodo razvrščeni v istem vrstnem redu kot sm.

Metode razreda Java TreeMap

MetodaOpis
Map.Entry stropni vnos (tipka K)Vrne par ključ-vrednost, ki ima najmanjši ključ, ki je večji ali enak podanemu ključu, ali nič, če takega ključa ni.
K stropni ključ (K ključ)Vrne najmanjši ključ, večji od podanega ključa ali nič, če takega ključa ni.
void clear()Z zemljevida odstrani vse pare ključ-vrednost.
Klon predmeta()Vrne plitvo kopijo primerka TreeMap.
primerjalnik primerjalnik()Vrne primerjalnik, ki razporedi ključ po vrstnem redu, ali nič, če zemljevid uporablja naravni vrstni red.
NavigableSet descendingKeySet()Vrne pogled NavigableSet v obratnem vrstnem redu ključev, ki jih vsebuje zemljevid.
NavigableMap descendingMap()Vrne navedene pare ključ-vrednost v padajočem vrstnem redu.
Map.Entry firstEntry()Vrne par ključ-vrednost z najmanjšim ključem.
Map.Entry floorEntry(tipka K)Vrne največji ključ, ki je manjši ali enak podanemu ključu, ali nič, če takega ključa ni.
void forEach (dejanje BiConsumer)Izvede dano dejanje za vsak vnos na zemljevidu, dokler niso vsi vnosi obdelani ali dejanje vrže izjemo.
SortedMap headMap(K toKey)Vrne pare ključ-vrednost, katerih ključi so strogo manjši od toKey.
NavigableMap headMap (K doKey, vključno z logično vrednostjo)Vrne pare ključ-vrednost, katerih ključi so manjši od (ali enaki, če je inclusive resnično) toKey.
Map.Entry višji vnos (tipka K)Vrne najmanjši ključ, ki je strogo večji od danega ključa, ali ničelno vrednost, če takega ključa ni.
K višja tipka (K tipka)Uporablja se za vrnitev true, če ta preslikava vsebuje preslikavo za navedeni ključ.
Nastavi keySet()Vrne zbirko ključev, ki obstajajo na zemljevidu.
Map.Entry lastEntry()Vrne par ključ-vrednost z največjim ključem ali nič, če takega ključa ni.
Map.Entry lowerEntry (tipka K)Vrne preslikavo ključ-vrednost, povezano z največjim ključem, ki je strogo manjši od danega ključa, ali ničelno, če takega ključa ni.
K nižja tipka (K tipka)Vrne največji ključ, ki je strogo manjši od podanega ključa ali nič, če takega ključa ni.
NavigableSet navigableKeySet()Vrne pogled NavigableSet ključev, ki jih vsebuje ta zemljevid.
Map.Entry pollFirstEntry()Odstrani in vrne preslikavo ključ-vrednost, povezano z najmanjšim ključem na tej preslikavi, ali nič, če je preslikava prazna.
Map.Entry pollLastEntry()Odstrani in vrne preslikavo ključ-vrednost, povezano z največjim ključem v tej preslikavi, ali nič, če je preslikava prazna.
V postavi (ključ K, vrednost V)V preslikavo vstavi podano vrednost z navedenim ključem.
void putAll (preslikava zemljevida)Uporablja se za kopiranje vseh parov ključ-vrednost iz enega zemljevida v drugega zemljevida.
V zamenjava (tipka K, vrednost V)Nadomesti podano vrednost za določen ključ.
logična zamenjava (tipka K, V stara vrednost, V nova vrednost)Zamenja staro vrednost z novo vrednostjo za določen ključ.
void replaceAll (funkcija BiFunction)Zamenja vrednost vsakega vnosa z rezultatom priklica dane funkcije na tem vnosu, dokler niso obdelani vsi vnosi ali funkcija vrže izjemo.
NavigableMap subMap (K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)Vrne pare ključ-vrednost, katerih ključi segajo od fromKey do toKey.
SortedMap subMap(K fromKey, K toKey)Vrne pare ključ-vrednost, katerih ključi segajo od fromKey, inclusive, do toKey, ekskluzivno.
SortedMap tailMap(K fromKey)Vrne pare ključ-vrednost, katerih ključi so večji ali enaki fromKey.
NavigableMap tailMap(K fromKey, logic inclusive)Vrne pare ključ-vrednost, katerih ključi so večji od (ali enaki, če je inclusive res) fromKey.
boolean containsKey(ključ predmeta)Vrne true, če preslikava vsebuje preslikavo za navedeni ključ.
boolean containsValue(vrednost predmeta)Vrne true, če preslikava enega ali več ključev preslika v podano vrednost.
K prviKey()Uporablja se za vrnitev prvega (najnižjega) ključa, ki je trenutno v tem razvrščenem zemljevidu.
V get (ključ predmeta)Uporablja se za vrnitev vrednosti, v katero preslikava preslika podani ključ.
K zadnjiKey()Uporablja se za vrnitev zadnjega (najvišjega) ključa, ki je trenutno v razvrščenem zemljevidu.
V odstrani (ključ predmeta)S preslikave odstrani par ključ-vrednost navedenega ključa.
SetvnosSet()Vrne nastavljen pogled preslikav, ki jih vsebuje zemljevid.
int size()Vrne število parov ključ-vrednost, ki obstajajo v zgoščevalni tabeli.
Vrednosti zbirke ()Vrne pogled zbirke vrednosti, ki jih vsebuje zemljevid.

Primer 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 

Primer Java TreeMap: odstrani()

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

Izhod:

testiranje združljivosti
 Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul 

Primer 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} 

Primer 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} 

Kakšna je razlika med HashMap in TreeMap?

HashMapTreeMap
1) HashMap lahko vsebuje en ničelni ključ.TreeMap ne sme vsebovati ničelnega ključa.
2) HashMap ne ohranja reda.TreeMap ohranja naraščajoči vrstni red.

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

Izhod:

 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