logo

Java térképes felület

A térkép kulcsok, azaz kulcs és értékpár alapján tartalmaz értékeket. Minden kulcs és érték pár bejegyzésként ismert. A térkép egyedi kulcsokat tartalmaz.

A térkép akkor hasznos, ha kulcs alapján kell elemeket keresni, frissíteni vagy törölni.

Java térképhierarchia

A Map Java-ban való megvalósításához két interfész létezik: Map és SortedMap, valamint három osztály: HashMap, LinkedHashMap és TreeMap. A Java Map hierarchiája az alábbiakban látható:

Java térképhierarchia

A térkép nem engedélyezi a duplikált kulcsokat, de lehetnek ismétlődő értékek. A HashMap és a LinkedHashMap engedélyezi a null kulcsokat és értékeket, de a TreeMap nem engedélyez nullkulcsot vagy értéket.

A térképen nem lehet bejárni, ezért át kell konvertálnia Set using formátumba keySet() vagy entrySet() módszer.

OsztályLeírás
HashMap A HashMap a Map megvalósítása, de nem tart fenn rendet.
LinkedHashMapA LinkedHashMap a Map megvalósítása. Ez örökli a HashMap osztályt. Fenntartja a beillesztési sorrendet.
TreeMap A TreeMap a Map és a SortedMap megvalósítása. Fenntartja a növekvő sorrendet.

A térképes felület hasznos módszerei

MódszerLeírás
V put (objektumkulcs, objektumérték)Egy bejegyzés beszúrására szolgál a térképen.
void putAll (térkép térkép)A megadott térkép térképbe történő beillesztésére szolgál.
V putIfAbsent (K kulcs, V érték)A megadott értéket a megadott kulccsal csak akkor szúrja be a térképbe, ha még nincs megadva.
V eltávolítás (objektumkulcs)A megadott kulcshoz tartozó bejegyzés törlésére szolgál.
logikai eltávolítás (objektumkulcs, objektumérték)Eltávolítja a megadott értékeket a hozzájuk tartozó megadott kulcsokkal a térképről.
Set keySet()Visszaadja az összes kulcsot tartalmazó Beállítás nézetet.
KészletentrySet()Visszaadja az összes kulcsot és értéket tartalmazó Beállítás nézetet.
void clear()A térkép visszaállítására szolgál.
V számítás (K kulcs, BiFunction remapping Function)A megadott kulcs és az aktuális leképezett érték (vagy nulla, ha nincs aktuális leképezés) leképezésének kiszámítására szolgál.
V computeIfAbsent (K billentyű, függvényleképezési függvény)Az érték kiszámítására szolgál az adott leképezési függvény segítségével, ha a megadott kulcs még nincs értékhez társítva (vagy nullára van leképezve), és beírja ebbe a leképezésbe, hacsak nem null.
V computeIfPresent(K kulcs, BiFunction remappingFunction)A kulcs és az aktuális leképezett érték alapján új leképezés kiszámítására szolgál, ha a megadott kulcs értéke jelen van, és nem nulla.
logikai érték tartalmazza(objektumérték)Ez a metódus igazat ad vissza, ha az értékkel megegyező érték létezik a térképen, ellenkező esetben hamis értéket ad vissza.
logikai érték tartalmazzaKey (objektumkulcs)Ez a metódus igazat ad vissza, ha a kulccsal megegyező kulcs létezik a térképen, ellenkező esetben hamis értéket ad vissza.
logikai egyenlő (o objektum)A megadott objektum és a térkép összehasonlítására szolgál.
érvénytelen forEach (BiConsumer akció)Az adott műveletet a térkép minden egyes bejegyzésére végrehajtja, amíg az összes bejegyzést fel nem dolgozta, vagy a művelet kivételt nem tesz.
V get (objektumkulcs)Ez a metódus azt az objektumot adja vissza, amely a kulcshoz tartozó értéket tartalmazza.
V getOrDefault (objektumkulcs, V alapértelmezett érték)Azt az értéket adja vissza, amelyhez a megadott kulcs le van rendelve, vagy alapértelmezett értéket, ha a leképezés nem tartalmaz leképezést a kulcshoz.
int hashCode()Visszaadja a térkép hash kód értékét
logikai érték üres()Ez a metódus igazat ad vissza, ha a térkép üres; false értéket ad vissza, ha legalább egy kulcsot tartalmaz.
V összevonás (K kulcs, V érték, BiFunction remapping Function)Ha a megadott kulcs még nincs hozzárendelve értékhez, vagy nullához van társítva, akkor társítja a megadott nem null értékkel.
V csere (K kulcs, V érték)A megadott kulcshoz tartozó értéket helyettesíti.
logikai csere (K kulcs, V régiérték, V újérték)Lecseréli a régi értéket egy adott kulcs új értékére.
érvénytelen csereAll (BiFunction funkció)Minden bejegyzés értékét lecseréli az adott függvény meghívásának eredményére, amíg az összes bejegyzés feldolgozásra nem kerül, vagy a függvény kivételt nem dob.
Gyűjteményértékek()A térképen található értékek gyűjteménynézetét adja vissza.
int size()Ez a módszer a bejegyzések számát adja vissza a térképen.

Map.Entry Interface

A bejegyzés a Térkép alfelülete. Tehát a Map.Entry névvel fogunk hozzáférni. Visszaadja a térkép gyűjteménynézetét, amelynek elemei ebbe az osztályba tartoznak. Módszereket biztosít a kulcs és az érték megszerzéséhez.

A Map.Entry interfész módszerei

MódszerLeírás
K getKey()Kulcs beszerzésére szolgál.
V getValue()Értékszerzésre használják.
int hashCode()A hashCode megszerzésére szolgál.
V setValue(V érték)A bejegyzéshez tartozó érték lecserélésére szolgál a megadott értékre.
logikai egyenlő (o objektum)A megadott objektum összehasonlítására szolgál a többi meglévő objektummal.
statikusÖsszehasonlítócomparingByKey()Egy olyan összehasonlítót ad vissza, amely a kulcson lévő objektumokat természetes sorrendben hasonlítja össze.
statikus összehasonlítóComparingByKey (Comparator cmp)Egy olyan összehasonlítót ad vissza, amely az objektumokat kulcsonként hasonlítja össze az adott Comparator segítségével.
statikusÖsszehasonlítócomparingByValue()Egy összehasonlító eszközt ad vissza, amely az objektumokat természetes értékrendben hasonlítja össze.
statikus összehasonlítócomparingByValue(Comparator cmp)Egy olyan összehasonlítót ad vissza, amely az objektumokat érték szerint hasonlítja össze az adott Comparator segítségével.

Java térképpélda: nem általános (régi stílusú)

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

Kimenet:

 1 Amit 2 Jai 5 Rahul 6 Amit 

Java térképpélda: Általános (új stílus)

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

Kimenet:

 102 Rahul 100 Amit 101 Vijay 

Java térképpélda: 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); } } 

Kimenet:

 100=Amit 101=Vijay 102=Rahul 

Java térképpélda: comparingByKey() csökkenő sorrendben

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

Kimenet:

 102=Rahul 101=Vijay 100=Amit 

Java térképpélda: 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); } } 

Kimenet:

 100=Amit 102=Rahul 101=Vijay 

Java térképpélda: comparingByValue() csökkenő sorrendben

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

Kimenet:

 101=Vijay 102=Rahul 100=Amit