Java ConcurrentMap-Schnittstelle

In diesem Tutorial lernen wir die Java ConcurrentMap-Oberfläche und ihre Methoden kennen.

Die ConcurrentMapSchnittstelle des Java-Sammlungsframeworks bietet eine thread-sichere Zuordnung. Das heißt, mehrere Threads können gleichzeitig auf die Karte zugreifen, ohne die Konsistenz der Einträge in einer Karte zu beeinträchtigen.

ConcurrentMap ist als synchronisierte Karte bekannt.

Es erweitert die Kartenschnittstelle.

Klasse, die ConcurrentMap implementiert

Da ConcurrentMapes sich um eine Schnittstelle handelt, können wir daraus keine Objekte erstellen.

Um die Funktionen der ConcurrentMapSchnittstelle nutzen zu können, müssen wir die Klasse verwenden ConcurrentHashMap, die sie implementiert.

Wie verwende ich ConcurrentMap?

Um das zu verwenden ConcurrentMap, müssen wir java.util.concurrent.ConcurrentMapzuerst das Paket importieren . Sobald wir das Paket importiert haben, können wir wie folgt eine gleichzeitige Karte erstellen.

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

Im obigen Code haben wir eine gleichzeitige Karte mit dem Namen "Nummern" erstellt.

Hier,

  • Schlüssel - eine eindeutige Kennung, mit der jedes Element (Wert) in einer Karte zugeordnet wird
  • Wert - Elemente, die durch Schlüssel in einer Karte verknüpft sind

Methoden von ConcurrentMap

Die ConcurrentMapSchnittstelle enthält alle Methoden der MapSchnittstelle. Es ist, weil Mapist die Super-Schnittstelle der ConcurrentMapSchnittstelle.

Neben all diesen Methoden sind hier die für die ConcurrentMapSchnittstelle spezifischen Methoden aufgeführt .

  • putIfAbsent () - Fügt den angegebenen Schlüssel / Wert in die Zuordnung ein, wenn der angegebene Schlüssel noch keinem Wert zugeordnet ist.
  • compute () - Berechnet einen Eintrag (Schlüssel / Wert-Zuordnung) für den angegebenen Schlüssel und seinen zuvor zugeordneten Wert.
  • computeIfAbsent () - Berechnet einen Wert mit der angegebenen Funktion für den angegebenen Schlüssel, wenn der Schlüssel noch keinem Wert zugeordnet ist.
  • computeIfPresent () - Berechnet einen neuen Eintrag (Schlüssel- / Wertzuordnung) für den angegebenen Schlüssel, wenn der Schlüssel bereits dem angegebenen Wert zugeordnet ist.
  • forEach () - Greifen Sie auf alle Einträge einer Karte zu und führen Sie die angegebenen Aktionen aus.
  • merge () - Führt den neuen angegebenen Wert mit dem alten Wert des angegebenen Schlüssels zusammen, wenn der Schlüssel bereits einem bestimmten Wert zugeordnet ist. Wenn der Schlüssel noch nicht zugeordnet ist, ordnet die Methode den angegebenen Wert einfach unserem Schlüssel zu.

Weitere Informationen finden Sie unter Java ConcurrentMap (offizielle Java-Dokumentation).

Implementierung von 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); ) ) 

Ausgabe

 ConcurrentMap: (Eins = 1, Zwei = 2, Drei = 3) Zugriffswert: 1 Entfernter Wert: 2 

Weitere Informationen ConcurrentHashMapfinden Sie unter Java ConcurrentHashMap.

Interessante Beiträge...