Java - L'interface Map.Entry

L'interface Map.Entry vous permet de travailler avec une entrée de carte.

le entrySet( )La méthode déclarée par l'interface Map renvoie un Set contenant les entrées de map. Chacun de ces éléments d'ensemble est un objet Map.Entry.

Le tableau suivant résume les méthodes déclarées par cette interface -

N ° Sr. Méthode et description
1

boolean equals(Object obj)

Renvoie true si obj est une Map.Entry dont la clé et la valeur sont égales à celles de l'objet appelant.

2

Object getKey( )

Renvoie la clé de cette entrée de carte.

3

Object getValue( )

Renvoie la valeur de cette entrée de carte.

4

int hashCode( )

Renvoie le code de hachage pour cette entrée de carte.

5

Object setValue(Object v)

Définit la valeur de cette entrée de carte sur v. Une ClassCastException est levée sivn'est pas le type correct pour la carte. Une NullPointerException est lancée sivest nul et la carte n'autorise pas les clés nulles. Une exception UnsupportedOperationException est levée si la carte ne peut pas être modifiée.

Exemple

Voici un exemple montrant comment Map.Entry peut être utilisé -

import java.util.*;
public class HashMapDemo {

   public static void main(String args[]) {
      // Create a hash map
      HashMap hm = new HashMap();

      // Put elements to the map
      hm.put("Zara", new Double(3434.34));
      hm.put("Mahnaz", new Double(123.22));
      hm.put("Ayan", new Double(1378.00));
      hm.put("Daisy", new Double(99.22));
      hm.put("Qadir", new Double(-19.08));
      
      // Get a set of the entries
      Set set = hm.entrySet();
      
      // Get an iterator
      Iterator i = set.iterator();
     
      // Display elements 
      while(i.hasNext()) {
         Map.Entry me = (Map.Entry)i.next();
         System.out.print(me.getKey() + ": ");
         System.out.println(me.getValue());
      }
      System.out.println();
     
      // Deposit 1000 into Zara's account
      double balance = ((Double)hm.get("Zara")).doubleValue();
      hm.put("Zara", new Double(balance + 1000));
      System.out.println("Zara's new balance: " + hm.get("Zara"));
   }
}

Cela produira le résultat suivant -

Production

Daisy: 99.22
Ayan: 1378.0
Zara: 3434.34
Qadir: -19.08
Mahnaz: 123.22

Zara's new balance: 4434.34