Interfața Java ConcurrentMap

În acest tutorial, vom afla despre interfața Java ConcurrentMap și metodele sale.

ConcurrentMapInterfața cadrului colecțiilor Java oferă o hartă thread - safe. Adică, mai multe fire pot accesa harta simultan fără a afecta consistența intrărilor pe hartă.

ConcurrentMap este cunoscută sub numele de hartă sincronizată.

Extinde interfața Hartă.

Clasă care implementează ConcurrentMap

Deoarece ConcurrentMapeste o interfață, nu putem crea obiecte din ea.

Pentru a utiliza funcționalitățile ConcurrentMapinterfeței, trebuie să folosim clasa ConcurrentHashMapcare o implementează.

Cum se utilizează ConcurrentMap?

Pentru a utiliza ConcurrentMap, trebuie să importăm mai java.util.concurrent.ConcurrentMapîntâi pachetul. Odată ce am importat pachetul, iată cum putem crea o hartă concurentă.

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

În codul de mai sus, am creat o hartă simultană numită numere.

Aici,

  • Cheie - un identificator unic utilizat pentru a asocia fiecare element (valoare) pe o hartă
  • Valoare - elemente asociate tastelor dintr-o hartă

Metode ale ConcurrentMap

ConcurrentMapInterfața include toate metodele Mapinterfeței. Este pentru că Mapeste super-interfața ConcurrentMapinterfeței.

Pe lângă toate aceste metode, iată metodele specifice ConcurrentMapinterfeței.

  • putIfAbsent () - Inserează cheia / valoarea specificată pe hartă dacă cheia specificată nu este deja asociată cu nicio valoare.
  • compute () - Calculează o intrare (mapare cheie / valoare) pentru cheia specificată și valoarea sa mapată anterior.
  • computeIfAbsent () - Calculează o valoare utilizând funcția specificată pentru cheia specificată dacă cheia nu este deja mapată cu vreo valoare.
  • computeIfPresent () - Calculează o nouă intrare (mapare cheie / valoare) pentru cheia specificată dacă cheia este deja mapată cu valoarea specificată.
  • forEach () - Accesați toate intrările unei hărți și efectuați acțiunile specificate.
  • merge () - Fuzionează noua valoare specificată cu vechea valoare a cheii specificate dacă cheia este deja mapată la o anumită valoare. Dacă cheia nu este deja mapată, metoda pur și simplu asociază valoarea specificată cu cheia noastră.

Pentru a afla mai multe, vizitați Java ConcurrentMap (documentație oficială Java).

Implementarea ConcurrentMap în 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); ) ) 

Ieșire

 ConcurrentMap: (One = 1, Two = 2, Three = 3) Valoare accesată: 1 Valoare eliminată: 2 

Pentru a afla mai multe despre ConcurrentHashMap, vizitați Java ConcurrentHashMap.

Articole interesante...