Interfaz Map.Entry en Java con ejemplo

La interfaz Map.Entry en Java proporciona ciertos métodos para acceder a la entrada en el Mapa. Al acceder a la entrada del Mapa podemos manipularlos fácilmente. Map.Entry es genérico y está definido en el paquete java.util.

Declaración :

Interface Map.Entry
k -> Key
V -> Value

Métodos:

  1. es igual a (Objeto o) – Compara el objeto (objeto que invoca) con el Objeto o para la igualdad.
    Sintaxis:
    boolean equals(Object o)
    Parameters :
    o -> Object to which we want to compare
    Returns:
    true: if both objects are equals
    false: otherwise
    
  2. K getKey() : devuelve la clave para la entrada del mapa correspondiente.
    Sintaxis:
    K getKey()
    Parameters :
    -------------
    Returns:
    K -> Returns the corresponding Key of a entry on which it is invoked
    

    Excepción –

    • IllegalSateException se lanza cuando la entrada se ha eliminado del mapa.
  3. V getValue() : devuelve el valor de la entrada del mapa correspondiente.
    Sintaxis:
    V getValue()
    Parameters :
    -------------
    Returns:
    V -> Returns the corresponding value of a entry on which it is invoked
    
  4. int hashcode() : devuelve el código hash de la entrada del mapa correspondiente.
    Sintaxis:
    int hashcode()
    Parameters :
    -------------
    Returns:
    int -> Returns the hash-code of entry on which it is invoked
    
  5. V setValue(V v) – Establece el valor del mapa con el valor especificado v
    V setValue(V v)
    Parameters :
    v -> Value which was earlier stored in the entry on which it is invoked
    Returns:
    int -> Returns the hash-code of a entry on which it is invoked

    Excepción :

    • ClassCastException se lanza si la clase del valor ‘v’ no es un tipo correcto para el mapa.
    • Se lanza NullPointerException si ‘null’ se almacena en ‘v’, y ‘null’ no es compatible con el mapa.
    • Se lanza la excepción UnsupportedOperationException si no podemos manipular el mapa o si el mapa no admite la operación de colocación.
    • Se lanza IllegalArgumetException si hay algún problema con el argumento, es decir, v
    • IllegalStateException se lanza cuando la entrada se ha eliminado del mapa

Set<Map.Entry> entrySet(): devuelve la vista Set de todo el mapa.
Nota: este no es un método de la interfaz Map.entry, pero se analiza aquí porque este método es útil cuando se trabaja con la interfaz Map.Entry.

Set<Map.Entry> entrySet() 
Parameters :
---------------
Returns:
Set<Map.Entry> ->: Returns a Set containing the Map.Entry values

El programa a continuación demuestra el funcionamiento de Map.Entry:

// Java Program to demonstrate the
// methods of Map.Entry 
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
  
public class GFG 
{
    public static void main(String[] args) 
    {
        // Create a LinkedHashMap
        LinkedHashMap<String,Integer> m = 
                new LinkedHashMap<String, Integer>();
          
        m.put("1 - Bedroom" , 25000);
        m.put("2 - Bedroom" , 50000);
        m.put("3 - Bedroom" , 75000);
        m.put("1 - Bedroom - hall", 65000);
        m.put("2 - Bedroom - hall", 85000);
        m.put("3 - Bedroom - hall", 105000);
          
        // Using entrySet() to get the entry's of the map
        Set<Map.Entry<String,Integer>> s = m.entrySet();
          
        for (Map.Entry<String, Integer> it: s)
        {
            // Using the getKey to get key of the it element
            // Using the getValue to get value of the it element
            System.out.println("Before change of value = " + 
                       it.getKey() + "   " +  it.getValue());
              
            // Changing the value of 1 - Bedroom.
            double getRandom = Math.random() * 100000;
            int getRoundoff = (int) Math.round(getRandom);
                  
            // Using setValue to change the value of the
            // map element
            it.setValue(getRoundoff);
              
            System.out.println("After change of value = " + 
                       it.getKey() + "   " + it.getValue());
        }
    }
}

Producción:

Before change of value = 1 - Bedroom   25000
After change of value = 1 - Bedroom   59475
Before change of value = 2 - Bedroom   50000
After change of value = 2 - Bedroom   51650
Before change of value = 3 - Bedroom   75000
After change of value = 3 - Bedroom   95200
Before change of value = 1 - Bedroom - hall   65000
After change of value = 1 - Bedroom - hall   74112
Before change of value = 2 - Bedroom - hall   85000
After change of value = 2 - Bedroom - hall   41490
Before change of value = 3 - Bedroom - hall   105000
After change of value = 3 - Bedroom - hall   10902

Este artículo es una contribución de Sumit Ghosh . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a write@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *