Interfaz Java ConcurrentMap

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

La ConcurrentMapinterfaz del marco de colecciones de Java proporciona un mapa seguro para subprocesos. Es decir, varios subprocesos pueden acceder al mapa a la vez sin afectar la coherencia de las entradas en un mapa.

ConcurrentMap se conoce como mapa sincronizado.

Extiende la interfaz del mapa.

Clase que implementa ConcurrentMap

Dado que ConcurrentMapes una interfaz, no podemos crear objetos a partir de ella.

Para usar las funcionalidades de la ConcurrentMapinterfaz, necesitamos usar la clase ConcurrentHashMapque la implementa.

¿Cómo utilizar ConcurrentMap?

Para usar ConcurrentMap, java.util.concurrent.ConcurrentMapprimero debemos importar el paquete. Una vez que importamos el paquete, así es como podemos crear un mapa concurrente.

 // ConcurrentMap implementation by ConcurrentHashMap CocurrentMap numbers = new ConcurrentHashMap(); 

En el código anterior, hemos creado un mapa concurrente llamado números.

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 ConcurrentMap

La ConcurrentMapinterfaz incluye todos los métodos de la Mapinterfaz. Es porque Mapes la super interfaz de la ConcurrentMapinterfaz.

Además de todos esos métodos, aquí están los métodos específicos de la ConcurrentMapinterfaz.

  • putIfAbsent () : inserta la clave / valor especificado en el mapa si la clave especificada aún no está asociada con ningún valor.
  • compute () : calcula una entrada (asignación de clave / valor) para la clave especificada y su valor asignado previamente.
  • computeIfAbsent () : calcula un valor utilizando la función especificada para la clave especificada si la clave no está ya asignada con ningún valor.
  • computeIfPresent () : calcula una nueva entrada (asignación de clave / valor) para la clave especificada si la clave ya está asignada con el valor especificado.
  • forEach () : accede a todas las entradas de un mapa y realiza las acciones especificadas.
  • merge () : fusiona el nuevo valor especificado con el valor anterior de la clave especificada si la clave ya está asignada a un determinado valor. Si la clave aún no está asignada, el método simplemente asocia el valor especificado a nuestra clave.

Para obtener más información, visite Java ConcurrentMap (documentación oficial de Java).

Implementación de ConcurrentMap en ConcurrentHashMap

 import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentHashMap; class Main ( public static void main(String() args) ( // Creating ConcurrentMap using ConcurrentHashMap ConcurrentMap numbers = new ConcurrentHashMap(); // Insert elements to map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("ConcurrentMap: " + numbers); // Access the value of specified key int value = numbers.get("One"); System.out.println("Accessed Value: " + value); // Remove the value of specified key int removedValue = numbers.remove("Two"); System.out.println("Removed Value: " + removedValue); ) ) 

Salida

 ConcurrentMap: (Uno = 1, Dos = 2, Tres = 3) Valor accedido: 1 Valor eliminado: 2 

Para obtener más información ConcurrentHashMap, visite Java ConcurrentHashMap.

Articulos interesantes...