La colección Mapas en Java

Otro tipo de colección muy interesante son los Mapas. Los mapas son colecciones de parejas clave-valor. Podría decirse que son como los arrays pero en lugar de usar un índice consecutivo que marca la posición del elemento en el array, vamos a utilizar una clave asociada a cada elemento.

La clase HashMap

La clase HashMap tiene la siguiente sintaxis:

HashMap<tipo clave,tipo de elemento>nombreDelMap= new HashMap<>();

Para trabajar con mapas vamos a utilizar la clase HashMap. Practiquemos con ella en la siguiente actividad:

Actividad: Practicando con la clase HashMap

  1. Continuamos trabajando con el proyecto con el que practicamos con las clases ArrayList y HashSet, para practicar ahora con mapas utilizando la clase HashMap.
  2. En la clase PracticandoConListas, utilizamos el método HashMap, para trabajar con Mapas: parejas clave-valor. Trabajaremos con la clase Estudiante, usaremos como clave un Integer que representa el número de matrícula del estudiante y como valor un objeto Estudiante. El código de esta clase quedaría.
      1. Declaramos un objeto HashMap de nombre estudiantesPorNumero, donde la clave es de tipo Integer y el valor de tipo Estudiante.
      1. Colocamos la parejas clave-valor en el Mapa. El método utilizado es put(), similar a add() en las listas.
      1. Recuperamos un objeto Estudiante a partir de su clave con la función get() a la que se pasa la clave como parámetro.
      1. Si ejecutamos el programa, el resultado obtenido sería:
      1. La clave es un indicador único que no admite duplicados. Si intentamos introducir un Estudiante nuevo con una clave existente, sencillamente se actualiza el valor asociado a dicha clave con el Estudiante nuevo que estamos introduciendo. Para verlo en el programa, podemos cambiar la clave del último estudiante, del valor 004 al valor 003. Estaríamos introduciendo la clave 003 en dos ocasiones, por lo que la segunda vez, se actualizaría el valor asociado a dicha clave.
      2. Si hacemos el cambio propuesto y ejecutamos el programa, el resultado que obtenemos es el siguiente:
      1. El estudiante asociado a la clave 003 es María en lugar de Fabiola. La clase HashMap no admite dos claves iguales. En general, el prefijo Hash en un nombre de una clase, indicará unicidad.
      2. Una función comúnmente usada es keySet() que la empleamos para obtener un Set con todas las claves, es decir, una lista de las claves. Para ver como utilizaríamos este método, actualizamos nuestro código a:

      Definimos nuestra lista de claves empleando la función keySet():

      Usando un bucle for-each presentamos todos los datos, las claves y los valores asociados, que recuperamos empleando la función get() a la que pasamos la clave como parámetro.

      1. El resultado de la ejecución del programa es:

      NOTA: Este post es parte de la colección “Java”. Puedes ver el índice de esta colección aquí.

      Deja una respuesta

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

      Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.