logo del blog

Devproplus

Uso de Map en Java

5 min de lectura

Conocer Map como programador Java es prácticamente obligatorio, ya que es una herramienta poderosa que te hará el trabajo más fácil y podrás resolver problemas de manera más eficiente y limpia. También suele ser un tema que sale en muchas entrevistas técnicas para programador Java. En este artículo estaré abordando los conceptos fundamentales de Map, sus principales usos y los métodos más utilizados.

Principales características de Map

Lo primero que hay que saber es que Map es una interfaz y esto hace que pueda ser implementado por clases y/o extendido por otras interfaces. Otra característica de Map es que es un objeto de pares clave-valor y no puede contener claves duplicadas. En Map, el orden de los elementos depende de la implementación que se esté haciendo de Map, esto quiere decir que depende de cómo los iteradores de las implementaciones devuelven los elementos. Algunas implementaciones de Map tienen restricciones en las claves y valores que pueden contener; por ejemplo, algunas implementaciones prohiben claves y valores nulos(null) y algunas tienen restricciones en los tipos de sus claves. Cabe destacar que Map tiene 3 métodos estáticos que devuelven mapas que son inmutables, estos métodos son: Map.of, Map.ofEntries, y Map.copyOf. Sin más preámbulo veamos ejemplos de usos de Map.

Principales métodos de Map

En la siguiente sección veremos ejemplos de implementaciones y métodos de Map.

Insertando, eliminando y obteniendo elementos de Map

Los 3 primeros métodos que verán son muy básicos, ellos son put, remove y get. Siempre el resultado lo podrán ver el parte inferior de las capturas, que será la salida que se muestra por consola gracias al uso de la función println().

demostracion map.put, map.remove y map.get

Recorriendo un Map

En las 3 próximas capturas veremos 3 formas de recorrer un Map:

Copiando un Map

Map tiene un método que de una manera sencilla nos permite copiar otro Map, el método se llama copyOf. Al método se le pasa como parámetro el Map que se quiere copiar y como mencioné anteriormente esta copia es inmutable, por lo que si se quiere cambiar algo, el programa arrojará un error. En la captura se puede observar el uso de copyOf y también como se intenta asignar un valor a una clave(key) y se lanza una excepción por tal motivo.

Comprobar si Map contiene elementos

A continuación 3 métodos para saber si un Map contiene determinada información.

Implementando Map

Para finalizar veamos dos clases que implementan Map. Como se puede ver en la imagen, se crea un array de enteros, se instancian las clases, se utiliza un for para con el método put de Map poner los enteros en el Map y después se muestra por consola cada clase. Se puede observar una característica de TreeMap, y es que esta clase ordena los elementos que estén en ella. Lo fundamental aquí, es ver como se implementa Map.

Conclusión

Como pudimos observar, Map es una interfaz poderosa. En este artículo solo vimos los métodos más comunes, dejo el enlace a la documentación oficial de la versión actual en el momento de escribir este artículo por si quieren investigar un poco más. Se los recomiendo.