Interfaccia Java ConcurrentMap

In questo tutorial impareremo a conoscere l'interfaccia Java ConcurrentMap e i suoi metodi.

L' ConcurrentMapinterfaccia del framework delle collezioni Java fornisce una mappa thread-safe. Cioè, più thread possono accedere alla mappa contemporaneamente senza influire sulla coerenza delle voci in una mappa.

ConcurrentMap è nota come mappa sincronizzata.

Estende l'interfaccia della mappa.

Classe che implementa ConcurrentMap

Poiché ConcurrentMapè un'interfaccia, non possiamo creare oggetti da essa.

Per poter utilizzare le funzionalità ConcurrentMapdell'interfaccia, dobbiamo usare la classe ConcurrentHashMapche la implementa.

Come utilizzare ConcurrentMap?

Per utilizzare ConcurrentMap, dobbiamo java.util.concurrent.ConcurrentMapprima importare il pacchetto. Una volta importato il pacchetto, ecco come possiamo creare una mappa simultanea.

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

Nel codice precedente, abbiamo creato una mappa simultanea denominata numeri.

Qui,

  • Chiave: un identificatore univoco utilizzato per associare ogni elemento (valore) in una mappa
  • Valore: elementi associati da chiavi in ​​una mappa

Metodi di ConcurrentMap

L' ConcurrentMapinterfaccia include tutti i metodi Mapdell'interfaccia. È perché Mapè la super interfaccia ConcurrentMapdell'interfaccia.

Oltre a tutti questi metodi, ecco i metodi specifici ConcurrentMapdell'interfaccia.

  • putIfAbsent () - Inserisce la chiave / valore specificato nella mappa se la chiave specificata non è già associata a nessun valore.
  • compute () - Calcola una voce (mappatura chiave / valore) per la chiave specificata e il suo valore mappato in precedenza.
  • computeIfAbsent () - Calcola un valore utilizzando la funzione specificata per la chiave specificata se la chiave non è già mappata con alcun valore.
  • computeIfPresent () - Calcola una nuova voce (mappatura chiave / valore) per la chiave specificata se la chiave è già mappata con il valore specificato.
  • forEach () - Accedi a tutte le voci di una mappa ed esegue le azioni specificate.
  • merge () - Unisce il nuovo valore specificato con il vecchio valore della chiave specificata se la chiave è già mappata a un certo valore. Se la chiave non è già mappata, il metodo associa semplicemente il valore specificato alla nostra chiave.

Per saperne di più, visita Java ConcurrentMap (documentazione Java ufficiale).

Implementazione di ConcurrentMap in 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); ) ) 

Produzione

 ConcurrentMap: (Uno = 1, Due = 2, Tre = 3) Valore a cui si accede: 1 Valore rimosso: 2 

Per saperne di più ConcurrentHashMap, visita Java ConcurrentHashMap.

Articoli interessanti...