logo

Java žemėlapio sąsaja

Žemėlapyje yra reikšmės, pagrįstos raktu, ty rakto ir reikšmių pora. Kiekviena rakto ir verčių pora yra žinoma kaip įrašas. Žemėlapyje yra unikalūs raktai.

pasirinkite sql iš kelių lentelių

Žemėlapis yra naudingas, jei reikia ieškoti, atnaujinti arba ištrinti elementus pagal raktą.

Java žemėlapių hierarchija

Yra dvi sąsajos, skirtos žemėlapiui įdiegti „Java“: žemėlapis ir rūšiuotas žemėlapis, ir trys klasės: „HashMap“, „LinkedHashMap“ ir „TreeMap“. „Java Map“ hierarchija pateikta žemiau:

Java žemėlapių hierarchija

Žemėlapyje neleidžiama pasikartojančių raktų, tačiau galite turėti pasikartojančias vertes. „HashMap“ ir „LinkedHashMap“ leidžia naudoti nulinius raktus ir reikšmes, tačiau „TreeMap“ neleidžia naudoti jokio nulinio rakto ar reikšmės.

Žemėlapio negalima pereiti, todėl jį reikia konvertuoti į Nustatyti naudojant keySet() arba įrašasSet() metodas.

Klasėapibūdinimas
HashMap HashMap yra žemėlapio įgyvendinimas, tačiau jis nepalaiko jokios tvarkos.
LinkedHashMapLinkedHashMap yra žemėlapio įgyvendinimas. Jis paveldi HashMap klasę. Jis palaiko įterpimo tvarką.
TreeMap „TreeMap“ yra „Map“ ir „SortedMap“ įgyvendinimas. Jis palaiko didėjančią tvarką.

Naudingi žemėlapio sąsajos metodai

Metodasapibūdinimas
V put (objekto raktas, objekto reikšmė)Jis naudojamas įrašui įterpti į žemėlapį.
galioti įdėti viską (žemėlapio žemėlapis)Jis naudojamas nurodytam žemėlapiui įterpti į žemėlapį.
V putIfAbsent (K raktas, V reikšmė)Jis įterpia nurodytą reikšmę su nurodytu raktu į žemėlapį tik tuo atveju, jei ji dar nenurodyta.
V pašalinti (objekto raktas)Jis naudojamas norint ištrinti nurodyto rakto įrašą.
loginis pašalinimas (objekto raktas, objekto reikšmė)Jis pašalina nurodytas reikšmes su susijusiais nurodytais raktais iš žemėlapio.
Nustatyti keySet()Jis grąžina rinkinio rodinį, kuriame yra visi klavišai.
NustatytiįrašasSet()Jis grąžina rinkinio rodinį, kuriame yra visi raktai ir reikšmės.
tuščias aiškus ()Jis naudojamas iš naujo nustatyti žemėlapį.
V skaičiavimas (K klavišas, BiFunction perdarymo funkcija)Jis naudojamas nurodyto rakto ir jo dabartinės susietos vertės (arba nulinės, jei dabartinio susiejimo nėra) susiejimui apskaičiuoti.
V computeIfAbsent (K klavišas, funkcijos susiejimo funkcija)Jis naudojamas jo vertei apskaičiuoti naudojant nurodytą susiejimo funkciją, jei nurodytas raktas dar nesusietas su reikšme (arba susietas su nuliu), ir įveda jį į šį žemėlapį, nebent nulis.
V computeIfPresent (K klavišas, BiFunction remappingFunction)Jis naudojamas naujam susiejimui apskaičiuoti, atsižvelgiant į raktą ir jo dabartinę susietą reikšmę, jei nurodyto rakto reikšmė yra ir nėra nulinė.
loginė vertė (objekto reikšmė)Šis metodas grąžina „true“, jei žemėlapyje yra tam tikra reikšmė, kitu atveju grąžinama „false“.
loginis yraKey (Objekto raktas)Šis metodas grąžina „true“, jei žemėlapyje yra raktas, lygus raktui, kitu atveju grąžina „false“.
loginis lygus (O objektas)Jis naudojamas norint palyginti nurodytą objektą su žemėlapiu.
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į.
V get (objekto raktas)Šis metodas grąžina objektą, kuriame yra su raktu susijusi reikšmė.
V getOrDefault (objekto raktas, V numatytoji vertė)Jis grąžina reikšmę, su kuria susietas nurodytas raktas, arba defaultValue, jei žemėlapyje nėra rakto susiejimo.
int maišos kodas ()Jis grąžina žemėlapio maišos kodo reikšmę
loginis yra tuščias()Šis metodas grąžina teisingą, jei žemėlapis tuščias; grąžina false, jei jame yra bent vienas raktas.
V suliejimas (K raktas, V reikšmė, BiFunction perdarymo funkcija)Jei nurodytas raktas dar nesusietas su reikšme arba yra susietas su nuliu, susieja jį su nurodyta nenuline verte.
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į.
Kolekcijos vertės ()Jis grąžina žemėlapyje esančių verčių rinkinį.
int dydis ()Šis metodas grąžina įrašų skaičių žemėlapyje.

Žemėlapis.Įėjimo sąsaja

Įrašas yra žemėlapio antrinė sąsaja. Taigi mes jį pasiekiame pagal Map.Entry pavadinimą. Tai grąžina žemėlapio, kurio elementai yra šios klasės, rinkinį. Jame pateikiami metodai, kaip gauti raktą ir vertę.

Map.Entry sąsajos metodai

Metodasapibūdinimas
K getKey()Jis naudojamas raktui gauti.
V getValue()Jis naudojamas vertei gauti.
int maišos kodas ()Jis naudojamas maišos kodui gauti.
V setValue (V reikšmė)Jis naudojamas norint pakeisti šį įrašą atitinkančią reikšmę nurodyta reikšme.
loginis lygus (O objektas)Jis naudojamas norint palyginti nurodytą objektą su kitais esamais objektais.
statinisPalyginimaspalyginimasByKey()Jis grąžina lyginamąjį elementą, kuris lygina objektus natūralia klavišo tvarka.
statinis lygintuvascomparingByKey (Comparator cmp)Jis grąžina palyginiklį, kuris lygina objektus pagal raktą, naudodamas nurodytą palyginiklį.
statinisPalyginimaspalyginimasByValue()Jis pateikia palyginimo priemonę, kuri lygina objektus natūralia verte.
statinis lygintuvascomparingByValue (Comparator cmp)Jis grąžina palyginiklį, kuris palygina objektus pagal vertę, naudodamas nurodytą palyginiklį.

„Java“ žemėlapio pavyzdys: nebendras (seno stiliaus)

 //Non-generic import java.util.*; public class MapExample1 { public static void main(String[] args) { Map map=new HashMap(); //Adding elements to map map.put(1,'Amit'); map.put(5,'Rahul'); map.put(2,'Jai'); map.put(6,'Amit'); //Traversing Map Set set=map.entrySet();//Converting to Set so that we can traverse Iterator itr=set.iterator(); while(itr.hasNext()){ //Converting to Map.Entry so that we can get key and value separately Map.Entry entry=(Map.Entry)itr.next(); System.out.println(entry.getKey()+' '+entry.getValue()); } } } 

Išvestis:

 1 Amit 2 Jai 5 Rahul 6 Amit 

„Java“ žemėlapio pavyzdys: bendras (naujas stilius)

 import java.util.*; class MapExample2{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Elements can traverse in any order for(Map.Entry m:map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } } 

Išvestis:

 102 Rahul 100 Amit 101 Vijay 

Java žemėlapio pavyzdys: comparingByKey()

 import java.util.*; class MapExample3{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByKey()) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Išvestis:

 100=Amit 101=Vijay 102=Rahul 

Java žemėlapio pavyzdys: palyginimasByKey() mažėjančia tvarka

 import java.util.*; class MapExample4{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByKey(Comparator.reverseOrder())) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Išvestis:

 102=Rahul 101=Vijay 100=Amit 

Java žemėlapio pavyzdys: comparingByValue()

 import java.util.*; class MapExample5{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByValue()) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Išvestis:

seleno pagrindai
 100=Amit 102=Rahul 101=Vijay 

Java žemėlapio pavyzdys: palyginimasByValue() mažėjančia tvarka

 import java.util.*; class MapExample6{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Išvestis:

 101=Vijay 102=Rahul 100=Amit