„Java TreeMap“ klasė yra raudonai juodo medžio pagrindu sukurtas įgyvendinimas. Tai veiksminga priemonė raktų ir verčių poroms saugoti surūšiuota tvarka.
Svarbūs dalykai apie „Java TreeMap“ klasę yra šie:
- „Java TreeMap“ turi reikšmes pagal raktą. Jis įgyvendina NavigableMap sąsają ir išplečia AbstractMap klasę.
- „Java TreeMap“ turi tik unikalius elementus.
- Java TreeMap negali turėti nulinio rakto, bet gali turėti kelias nulines reikšmes.
- „Java TreeMap“ nėra sinchronizuotas.
- Java TreeMap palaiko didėjančią tvarką.
TreeMap klasės deklaracija
Pažiūrėkime java.util.TreeMap klasės deklaraciją.
tcp vs udp
public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable
TreeMap klasės parametrai
Pažiūrėkime java.util.TreeMap klasės parametrus.
Java TreeMap klasės konstruktoriai
Konstruktorius | apibūdinimas |
---|---|
TreeMap () | Jis naudojamas tuščio medžio žemėlapiui sudaryti, kuris bus rūšiuojamas naudojant natūralią jo rakto tvarką. |
„TreeMap“ (palyginimo priemonė) | Jis naudojamas tuščiam medžiu pagrįsto žemėlapio sudarymui, kuris bus rūšiuojamas naudojant palyginimo kompar. |
Medžio žemėlapis (žemėlapis m) | Jis naudojamas inicijuoti medžio žemėlapį su įrašais iš m , kurie bus rūšiuojami naudojant natūralią klavišų tvarką. |
Medžio žemėlapis (surūšiuotas žemėlapis m) | Jis naudojamas inicijuoti medžio žemėlapį su įrašais iš SortedMap sm , kurie bus surūšiuoti ta pačia tvarka kaip sm. |
Java TreeMap klasės metodai
Metodas | apibūdinimas |
---|---|
Žemėlapis.Įėjimo lubos Įėjimas (K klavišas) | Jis grąžina rakto-reikšmių porą, turinčią mažiausią raktą, didesnį už nurodytą raktą arba jam lygų, arba nulinę, jei tokio rakto nėra. |
K lubų raktas (K klavišas) | Grąžina mažiausią raktą, didesnį už nurodytą raktą arba nulį, jei tokio rakto nėra. |
tuščias aiškus () | Jis pašalina visas raktų ir verčių poras iš žemėlapio. |
Objekto klonas () | Jis grąžina negilią TreeMap egzemplioriaus kopiją. |
Palyginimo priemonė palyginimo priemonė () | Jis grąžina lyginamąjį elementą, kuris išdėsto raktą eilės tvarka, arba nulį, jei žemėlapyje naudojama natūrali tvarka. |
NavigableSet descendingKeySet() | Jis grąžina žemėlapyje esančių klavišų vaizdą atvirkštine tvarka NavigableSet. |
NavigableMap descendingMap() | Jis grąžina nurodytas rakto-reikšmių poras mažėjančia tvarka. |
Žemėlapis.Entry firstEntry() | Jis grąžina rakto-reikšmių porą, turinčią mažiausią raktą. |
Žemėlapis. Įėjimo aukštas Įėjimas (K klavišas) | Jis grąžina didžiausią raktą, mažesnį arba lygų nurodytam raktui, arba nulį, jei tokio rakto nėra. |
negalioja kiekvienam (dviejų vartotojų veiksmas) | Jis atlieka nurodytą veiksmą kiekvienam įrašui žemėlapyje, kol visi įrašai bus apdoroti arba veiksmas padarys išimtį. |
Rūšiuoto žemėlapio galvos žemėlapis (K toKey) | Jis grąžina rakto-reikšmių poras, kurių raktai yra griežtai mažesni nei toKey. |
NavigableMap headMap (K toKey, loginis imtinai) | Jis grąžina rakto ir reikšmių poras, kurių raktai yra mažesni už (arba lygūs, jei yra tiesa) toKey. |
Žemėlapis.Įvestis didesnisĮvedimas(K klavišas) | Jis grąžina mažiausią raktą, griežtai didesnį už nurodytą raktą, arba nulį, jei tokio rakto nėra. |
K aukštesnis raktas (K klavišas) | Jis naudojamas norint grąžinti „true“, jei šiame žemėlapyje yra nurodyto rakto atvaizdavimas. |
Nustatyti keySet() | Jis grąžina žemėlapyje esamą raktų kolekciją. |
Map.Entry lastEntry() | Jis grąžina rakto-reikšmių porą, turinčią didžiausią raktą, arba nulinę, jei tokio rakto nėra. |
Žemėlapis. Įvestis žemesnė Įvestis (K klavišas) | Jis grąžina rakto vertės susiejimą, susietą su didžiausiu raktu, kuris yra griežtai mažesnis už nurodytą raktą arba nulinis, jei tokio rakto nėra. |
K apatinis klavišas (K klavišas) | Jis grąžina didžiausią raktą, griežtai mažesnį už nurodytą raktą, arba nulį, jei tokio rakto nėra. |
NavigableSet navigableKeySet() | Jis grąžina šiame žemėlapyje esančių klavišų vaizdą NavigableSet. |
Žemėlapis.Entry pollFirstEntry() | Jis pašalina ir grąžina rakto vertės susiejimą, susietą su mažiausiu raktu šiame žemėlapyje, arba nulinį, jei žemėlapis tuščias. |
Žemėlapis.Entry pollLastEntry() | Jis pašalina ir grąžina rakto vertės susiejimą, susietą su didžiausiu raktu šiame žemėlapyje, arba nulinį, jei žemėlapis tuščias. |
V put (K raktas, V reikšmė) | Jis įterpia nurodytą reikšmę su nurodytu raktu į žemėlapį. |
galioti įdėti viską (žemėlapio žemėlapis) | Jis naudojamas nukopijuoti visą rakto-reikšmių porą iš vieno žemėlapio į kitą žemėlapį. |
V pakeitimas (K klavišas, V reikšmė) | Jis pakeičia nurodytą nurodyto rakto vertę. |
loginis pakeitimas (K raktas, V senoji vertė, V nauja vertė) | Ji pakeičia seną reikšmę nauja nurodyto rakto reikšme. |
galioti pakeisti viską („BiFunction“ funkcija) | Jis pakeičia kiekvieno įrašo reikšmę duotos funkcijos iškvietimu tame įraše, kol visi įrašai bus apdoroti arba funkcija padarys išimtį. |
NavigableMap subžemėlapis (K nuo rakto, loginis iš įtraukimo, K į raktą, loginis į įtrauktas) | Jis grąžina rakto-reikšmių poras, kurių raktai svyruoja nuoKey iki toKey. |
Rūšiuoto žemėlapio antrinis žemėlapis (K fromKey, K toKey) | Jis pateikia rakto ir verčių poras, kurių raktai svyruoja nuo Key, imtinai, iki toKey, išskirtiniai. |
Rūšiuoto žemėlapio uodegos žemėlapis (K fromKey) | Jis grąžina rakto-reikšmių poras, kurių raktai yra didesni arba lygūs fromKey. |
NavigableMap tailMap (K fromKey, loginis imtinai) | Jis grąžina rakto-reikšmių poras, kurių raktai yra didesni už (arba lygūs, jei yra tiesa) fromKey. |
loginis yraKey (Objekto raktas) | Grąžinama tiesa, jei žemėlapyje yra nurodyto rakto atvaizdas. |
loginė vertė (objekto reikšmė) | Grąžinama tiesa, jei žemėlapis susieja vieną ar daugiau raktų į nurodytą reikšmę. |
K firstKey() | Jis naudojamas norint grąžinti pirmąjį (žemiausią) raktą šiuo metu šiame surūšiuotame žemėlapyje. |
V get (objekto raktas) | Jis naudojamas norint grąžinti reikšmę, su kuria žemėlapis susieja nurodytą raktą. |
K lastKey() | Jis naudojamas norint grąžinti paskutinį (aukščiausią) raktą šiuo metu surūšiuotame žemėlapyje. |
V pašalinti (objekto raktas) | Tai pašalina nurodyto rakto rakto ir vertės porą iš žemėlapio. |
Nustatyti | Jis grąžina nustatytą žemėlapio atvaizdų vaizdą. |
int dydis () | Jis grąžina maišos lentelėje esamų raktų ir reikšmių porų skaičių. |
Kolekcijos vertės () | Jis grąžina žemėlapyje esančių verčių rinkinį. |
Java TreeMap pavyzdys
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 pavyzdys: 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()); } } }
Išvestis:
javascript atsisiuntimas
Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul
Java TreeMap pavyzdys: 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 pavyzdys: 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}
Kuo skiriasi HashMap ir TreeMap?
HashMap | TreeMap |
---|---|
1) HashMap gali turėti vieną nulinį raktą. | TreeMap negali turėti jokio nulinio rakto. |
2) HashMap nepalaiko tvarkos. | TreeMap palaiko didėjančią tvarką. |
Java TreeMap pavyzdys: knyga
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); } } }
Išvestis:
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