Header Ads Widget

Ticker

6/recent/ticker-posts

Interfaz Java ConcurrentMap

En este tutorial, aprenderemos sobre la interfaz Java ConcurrentMap y sus métodos.
anuncios a través de carbonoOferta por tiempo limitado: obtenga 10 imágenes gratuitas de Adobe Stock.ANUNCIOS A TRAVÉS DE CARBONO
La ConcurrentMapinterfaz del marco de colecciones de Java proporciona un mapa seguro para subprocesos. Es decir, múltiples hilos pueden acceder al mapa a la vez sin afectar la consistencia de las entradas en un mapa.
ConcurrentMap se conoce como un mapa sincronizado.
Extiende la interfaz del mapa .

Clase que implementa ConcurrentMap

Como 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.
La interfaz Java ConcurrentHashMap extiende la interfaz Java ConcurrentMap.

¿Cómo usar ConcurrentMap?

Para usar el ConcurrentMapjava.util.concurrent.ConcurrentMapprimero debemos importar el paquete. Una vez que importamos el paquete, así es como podemos crear un mapa concurrente.
  1. // ConcurrentMap implementation by ConcurrentHashMap
  2. CocurrentMap<Key, Value> numbers = new ConcurrentHashMap<>();
En el código anterior, hemos creado un mapa concurrente llamado números .
Aquí,
  • Clave : un identificador único utilizado 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 superinterfaz 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 anteriormente.
  • computeIfAbsent () : calcula un valor utilizando la función especificada para la clave especificada si la clave aún no está 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 () : combina el nuevo valor especificado con el valor anterior de la clave especificada si la clave ya está asignada a un cierto 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 la documentación oficial de Java ConcurrentMap .


Implementación de ConcurrentMap en ConcurrentHashMap

  1. import java.util.concurrent.ConcurrentMap;
  2. import java.util.concurrent.ConcurrentHashMap;
  3. class Main {
  4. public static void main(String[] args) {
  5. // Creating ConcurrentMap using ConcurrentHashMap
  6. ConcurrentMap<String, Integer> numbers = new ConcurrentHashMap<>();
  7. // Insert elements to map
  8. numbers.put("Two", 2);
  9. numbers.put("One", 1);
  10. numbers.put("Three", 3);
  11. System.out.println("ConcurrentMap: " + numbers);
  12. // Access the value of specified key
  13. int value = numbers.get("One");
  14. System.out.println("Accessed Value: " + value);
  15. // Remove the value of specified key
  16. int removedValue = numbers.remove("Two");
  17. System.out.println("Removed Value: " + removedValue);
  18. }
  19. }
Salida
ConcurrentMap: {Uno = 1, Tres = 3, Dos = 2}
Valor de acceso: 1
Valor eliminado: 2
Para obtener más información ConcurrentHashMap, visite Java ConcurrentHashMap .

Publicar un comentario

0 Comentarios