logo

Interfață Java Map

O hartă conține valori pe baza cheii, adică pereche cheie și valoare. Fiecare pereche cheie și valoare este cunoscută ca o intrare. O hartă conține chei unice.

O hartă este utilă dacă trebuie să căutați, să actualizați sau să ștergeți elemente pe baza unei chei.

Ierarhia hărților Java

Există două interfețe pentru implementarea Map în java: Map și SortedMap și trei clase: HashMap, LinkedHashMap și TreeMap. Ierarhia hărții Java este prezentată mai jos:

Ierarhia hărților Java

O hartă nu permite chei duplicate, dar puteți avea valori duplicate. HashMap și LinkedHashMap permit chei și valori nule, dar TreeMap nu permite nicio cheie sau valoare nulă.

np.concatenate

O hartă nu poate fi parcursă, așa că trebuie să o convertiți în Set folosind keySet() sau entrySet() metodă.

ClasăDescriere
HashMap HashMap este implementarea Map, dar nu menține nicio ordine.
LinkedHashMapLinkedHashMap este implementarea Mapului. Moștenește clasa HashMap. Menține ordinea de inserare.
Harta copacului TreeMap este implementarea Map și SortedMap. Menține ordinea crescătoare.

Metode utile de interfață Map

MetodăDescriere
V put(cheia obiectului, valoarea obiectului)Este folosit pentru a introduce o intrare în hartă.
void putAll (hartă pe hartă)Este folosit pentru a introduce harta specificată în hartă.
V putIfAbsent (tasta K, valoarea V)Inserează valoarea specificată cu cheia specificată în hartă numai dacă nu este deja specificată.
V elimina (cheia obiect)Este folosit pentru a șterge o intrare pentru cheia specificată.
boolean remove (cheie obiect, valoare obiect)Îndepărtează de pe hartă valorile specificate cu cheile specificate asociate.
Setați keySet()Acesta returnează vizualizarea Set care conține toate cheile.
A stabilitentrySet()Acesta returnează vizualizarea Set care conține toate cheile și valorile.
void clear()Este folosit pentru a reseta harta.
Calcul V (tasta K, funcția de remapare BiFunction)Este folosit pentru a calcula o mapare pentru cheia specificată și valoarea sa mapată curentă (sau nulă dacă nu există o mapare curentă).
V computeIfAbsent (tasta K, Function mappingFunction)Este folosit pentru a-și calcula valoarea utilizând funcția de mapare dată, dacă cheia specificată nu este deja asociată cu o valoare (sau este mapată la null) și o introduce în această hartă dacă nu este nulă.
V computeIfPresent (tasta K, funcția de remapare BiFunction)Este folosit pentru a calcula o nouă mapare având în vedere cheia și valoarea ei actuală mapată dacă valoarea pentru cheia specificată este prezentă și nu este nulă.
boolean containsValue(Valoare obiect)Această metodă returnează true dacă o valoare egală cu valoarea există în cadrul hărții, altfel returnează false.
boolean containsKey (cheie obiect)Această metodă returnează true dacă o cheie egală cu cheia există în cadrul hărții, altfel returnează false.
boolean este egal(obiect o)Este folosit pentru a compara obiectul specificat cu harta.
void forEach (acțiune BiConsumer)Efectuează acțiunea dată pentru fiecare intrare din hartă până când toate intrările au fost procesate sau acțiunea aruncă o excepție.
V get(cheie obiect)Această metodă returnează obiectul care conține valoarea asociată cheii.
V getOrDefault(cheia obiectului, V defaultValue)Returnează valoarea la care este mapată cheia specificată sau defaultValue dacă harta nu conține nicio mapare pentru cheie.
int hashCode()Returnează valoarea codului hash pentru Hartă
boolean este gol ()Această metodă returnează true dacă harta este goală; returnează false dacă conține cel puțin o cheie.
V merge (tasta K, valoarea V, funcția de remapare BiFunction)Dacă cheia specificată nu este deja asociată cu o valoare sau este asociată cu null, o asociază cu valoarea non-nulă dată.
V înlocuiți (tasta K, valoarea V)Acesta înlocuiește valoarea specificată pentru o cheie specificată.
înlocuire booleană (cheia K, V oldValue, V newValue)Acesta înlocuiește vechea valoare cu noua valoare pentru o cheie specificată.
void replaceAll (funcția BiFunction)Acesta înlocuiește valoarea fiecărei intrări cu rezultatul invocării funcției date pe acea intrare până când toate intrările au fost procesate sau funcția aruncă o excepție.
Valori de colecție()Returnează o vizualizare de colecție a valorilor conținute în hartă.
dimensiune int()Această metodă returnează numărul de intrări din hartă.

Hartă.Interfață de intrare

Entry este subinterfața Mapului. Deci, vom fi accesați prin Map.Entry name. Returnează o vizualizare-colecție a hărții, ale cărei elemente sunt din această clasă. Oferă metode pentru a obține cheia și valoarea.

note de subsol

Metode de interfață Map.Entry

MetodăDescriere
K getKey()Este folosit pentru a obține o cheie.
V getValue()Este folosit pentru a obține valoare.
int hashCode()Este folosit pentru a obține codul hash.
V setValue (valoare V)Este folosit pentru a înlocui valoarea corespunzătoare acestei intrări cu valoarea specificată.
boolean este egal(obiect o)Este folosit pentru a compara obiectul specificat cu celelalte obiecte existente.
staticComparatorcomparingByKey()Returnează un comparator care compară obiectele în ordine naturală pe cheie.
Comparator staticcomparingByKey(Comparator cmp)Returnează un comparator care compară obiectele după cheie folosind Comparatorul dat.
staticComparatorcomparingByValue()Returnează un comparator care compară obiectele în ordine naturală asupra valorii.
Comparator staticcomparingByValue(Comparator cmp)Returnează un comparator care compară obiectele după valoare folosind Comparatorul dat.

Exemplu de hartă Java: non-generic (stil vechi)

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

Ieșire:

 1 Amit 2 Jai 5 Rahul 6 Amit 

Exemplu de hartă Java: generic (stil nou)

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

Ieșire:

 102 Rahul 100 Amit 101 Vijay 

Exemplu de hartă Java: 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); } } 

Ieșire:

bara de instrumente cu acces rapid ms Word
 100=Amit 101=Vijay 102=Rahul 

Exemplu de hartă Java: comparingByKey() în ordine descrescătoare

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

Ieșire:

 102=Rahul 101=Vijay 100=Amit 

Exemplu de hartă Java: 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); } } 

Ieșire:

 100=Amit 102=Rahul 101=Vijay 

Exemplu de hartă Java: comparingByValue() în ordine descrescătoare

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

Ieșire:

 101=Vijay 102=Rahul 100=Amit