En este tutorial, aprenderemos sobre la interfaz de Java Map y sus métodos.
La Map
interfaz del marco de colecciones de Java proporciona la funcionalidad de la estructura de datos del mapa.
Trabajo del mapa
En Java, los elementos de Map
se almacenan en pares clave / valor . Las claves son valores únicos asociados con valores individuales .
Un mapa no puede contener claves duplicadas. Y cada clave está asociada con un solo valor.
Podemos acceder y modificar valores utilizando las claves asociadas a ellos.
En el diagrama anterior, tenemos valores: Estados Unidos, Brasil y España. Y tenemos las claves correspondientes: nosotros, br y es.
Ahora, podemos acceder a esos valores usando sus claves correspondientes.
Nota: La Map
interfaz mantiene 3 conjuntos diferentes:
- el juego de llaves
- el conjunto de valores
- el conjunto de asociaciones clave / valor (mapeo).
Por tanto, podemos acceder a claves, valores y asociaciones de forma individual.
Clases que implementan Map
Dado que Map
es una interfaz, no podemos crear objetos a partir de ella.
Para utilizar las funcionalidades de la Map
interfaz, podemos utilizar estas clases:
- HashMap
- EnumMap
- LinkedHashMap
- WeakHashMap
- TreeMap
Estas clases se definen en el marco de colecciones e implementan la Map
interfaz.

Interfaces que amplían Map
La Map
interfaz también se amplía con estas subinterfaces:
- SortedMap
- NavigableMap
- ConcurrentMap

¿Cómo utilizar Map?
En Java, debemos importar el java.util.Map
paquete para poder usar Map
. Una vez que importamos el paquete, así es como podemos crear un mapa.
// Map implementation using HashMap Map numbers = new HashMap();
En el código anterior, hemos creado Map
números con nombre. Hemos utilizado la HashMap
clase para implementar la Map
interfaz.
Aquí,
- Clave: un identificador único que se utiliza para asociar cada elemento (valor) en un mapa.
- Valor: elementos asociados por claves en un mapa
Métodos de mapa
La Map
interfaz incluye todos los métodos de la Collection
interfaz. Es porque Collection
es una super interfaz de Map
.
Además de los métodos disponibles en la Collection
interfaz, la Map
interfaz también incluye los siguientes métodos:
- put (K, V) : inserta la asociación de una clave K y un valor V en el mapa. Si la clave ya está presente, el nuevo valor reemplaza al antiguo.
- putAll () : inserta todas las entradas del mapa especificado en este mapa.
- putIfAbsent (K, V) : inserta la asociación si la clave K aún no está asociada con el valor V.
- get (K) : devuelve el valor asociado con la clave especificada K. Si no se encuentra la clave, regresa
null
. - getOrDefault (K, defaultValue) : devuelve el valor asociado con la clave especificada K. Si no se encuentra la clave, devuelve el valor predeterminado.
- containsKey (K) : comprueba si la clave K especificada está presente en el mapa o no.
- containsValue (V) : comprueba si el valor V especificado está presente en el mapa o no.
- reemplazar (K, V) : reemplaza el valor de la clave K con el nuevo valor especificado V.
- replace (K, oldValue, newValue) : reemplaza el valor de la clave K con el nuevo valor newValue solo si la clave K está asociada con el valor oldValue.
- eliminar (K) : elimina la entrada del mapa representada por la tecla K.
- remove (K, V) : elimina la entrada del mapa que tiene la clave K asociada con el valor V.
- keySet () : devuelve un conjunto de todas las claves presentes en un mapa.
- valores () : devuelve un conjunto de todos los valores presentes en un mapa.
- entrySet () : devuelve un conjunto de todas las asignaciones clave / valor presentes en un mapa.
Implementación de la interfaz del mapa
1. Implementación de la clase HashMap
import java.util.Map; import java.util.HashMap; class Main ( public static void main(String() args) ( // Creating a map using the HashMap Map numbers = new HashMap(); // Insert elements to the map numbers.put("One", 1); numbers.put("Two", 2); System.out.println("Map: " + numbers); // Access keys of the map System.out.println("Keys: " + numbers.keySet()); // Access values of the map System.out.println("Values: " + numbers.values()); // Access entries of the map System.out.println("Entries: " + numbers.entrySet()); // Remove Elements from the map int value = numbers.remove("Two"); System.out.println("Removed Value: " + value); ) )
Salida
Mapa: (Uno = 1, Dos = 2) Claves: (Uno, Dos) Valores: (1, 2) Entradas: (Uno = 1, Dos = 2) Valor eliminado: 2
Para obtener más información HashMap
, visite Java HashMap.
2. Implementación de la clase TreeMap
import java.util.Map; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating Map using TreeMap Map values = new TreeMap(); // Insert elements to map values.put("Second", 2); values.put("First", 1); System.out.println("Map using TreeMap: " + values); // Replacing the values values.replace("First", 11); values.replace("Second", 22); System.out.println("New Map: " + values); // Remove elements from the map int removedValue = values.remove("First"); System.out.println("Removed Value: " + removedValue); ) )
Salida
Mapa usando TreeMap: (Primero = 1, Segundo = 2) Nuevo mapa: (Primero = 11, Segundo = 22) Valor eliminado: 11
Para obtener más información TreeMap
, visite Java TreeMap.