Interfaz de mapa Java

En este tutorial, aprenderemos sobre la interfaz de Java Map y sus métodos.

La Mapinterfaz del marco de colecciones de Java proporciona la funcionalidad de la estructura de datos del mapa.

Trabajo del mapa

En Java, los elementos de Mapse 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 Mapinterfaz 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 Mapes una interfaz, no podemos crear objetos a partir de ella.

Para utilizar las funcionalidades de la Mapinterfaz, podemos utilizar estas clases:

  • HashMap
  • EnumMap
  • LinkedHashMap
  • WeakHashMap
  • TreeMap

Estas clases se definen en el marco de colecciones e implementan la Mapinterfaz.

Subclases de mapas de Java

Interfaces que amplían Map

La Mapinterfaz también se amplía con estas subinterfaces:

  • SortedMap
  • NavigableMap
  • ConcurrentMap
Subinterfaces de mapas de Java

¿Cómo utilizar Map?

En Java, debemos importar el java.util.Mappaquete 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 Mapnúmeros con nombre. Hemos utilizado la HashMapclase para implementar la Mapinterfaz.

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 Mapinterfaz incluye todos los métodos de la Collectioninterfaz. Es porque Collectiones una super interfaz de Map.

Además de los métodos disponibles en la Collectioninterfaz, la Mapinterfaz 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.

Articulos interesantes...