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:
- 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
- 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.
- 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
- 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
- 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