Bienvenidos sean a este post, hoy hablaremos sobre la clase encargada de permitirnos trabajar con las entradas de un mapa, por ejemplo entrySet() es un metodo declarado por la interfaz Map la cual devuelve un set con las entradas contenidas en el mapa pero cada uno de estos elementos es un objeto Map.Entry, veamos algunos metodos disponibles por esta interfaz:

  • boolean equals(Object o), devuelve verdadero si el objeto informado es un Map.Entry cuyo clave y valor son iguales al objeto invocador
  • Object getKey(), devuelve la clave para la entrada del mapa
  • Object getValue(), devuelve el valor para la entrada del mapa
  • int hashCode(), devuelve el codigo hash para la entrada del mapa
  • Object setValue(Object v), establece el valor de esta entrada de mapa en v. Se emite una excepción ClassCastException si v no es el tipo correcto para el mapa. Se lanza una NullPointerException si v es nulo y el mapa no permite claves nulas. Si no se puede cambiar el mapa, se lanza una excepción UnsupportedOperationException.

A continuacion veremos un ejemplo donde pondremos en practica sobre como trabajar con esta interfaz:

HashMapDemo.java:

import java.util.*;

public class HashMapDemo
{
        public static void main(String[] args)
        {
                HashMap hm = new HashMap();

                hm.put("Martin",new Double(9999.90));
                hm.put("Marta",new Double(10999.40));
                hm.put("Enzo",new Double(8999.40));
                hm.put("Javier",new Double(11999.80));
                hm.put("Gustavo",new Double(7999.78));

                Set set = hm.entrySet();

                Iterator i = set.iterator();

                while(i.hasNext())
                {
                        Map.Entry me = (Map.Entry)i.next();
                        System.out.println(me.getKey() + " : "
                                        + me.getValue());
                }
                System.out.println();

                double balance = ((Double)hm.get("Enzo")).doubleValue();
                hm.put("Enzo", new Double(balance + 1000));
                System.out.println("El nuevo balance de Enzo es: "
                                        + hm.get("Enzo"));
        }
}

En este caso primero crearemos un mapa con HashMap y luego agregaremos cinco elementos de tipo clave/valor donde agregaremos el nombre de la persona como clave y el balance como valor, luego crearemos un conjunto llamado set donde a nuestro mapa le asignaremos por medio de entrySet() la posibilidad de manipular las entradas, para poder visualizarlas crearemos un iterator llamado i, luego por medio de while y hasNext() mostraremos todas las claves y valores en este iterator, despues crearemos una nueva variable llamada balance donde le asignaremos el valor de una entrada, en este caso Enzo, y volveremos a agregar al mapa pero agregandole un valor de 1000 al que estaba en el mapa, para finalmente mostrarlo, procedamos a compilar y ejecutar el programa para ver su salida:

tinchicus@dbn001vrt:~/programacion/java/codigo$ java HashMapDemo
Marta : 10999.4
Javier : 11999.8
Gustavo : 7999.78
Martin : 9999.9
Enzo : 8999.4

El nuevo balance de Enzo es: 9999.4
tinchicus@dbn001vrt:~/programacion/java/codigo$

Como pueden ver nos trajo primero todas las entradas que ingresamos al mapa para luego mostrarnos el cambio que realizamos para una de las entradas.

En resumen, hoy hemos un poco mas sobre una interfaz que ayuda a otra, hemos hablado un poco mas sobre ella, hemos visto algunos metodos, hemos hecho un ejemplo practico, espero les haya sido util sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios