Interfejs Java ConcurrentMap

W tym samouczku poznamy interfejs Java ConcurrentMap i jego metody.

ConcurrentMapInterfejs zbiorach ramach Java dostarcza wątku bezpieczny mapę. Oznacza to, że wiele wątków może uzyskać dostęp do mapy jednocześnie bez wpływu na spójność wpisów w mapie.

ConcurrentMap jest znany jako zsynchronizowana mapa.

Rozszerza interfejs Map.

Klasa implementująca ConcurrentMap

Ponieważ ConcurrentMapjest to interfejs, nie możemy tworzyć z niego obiektów.

Aby skorzystać z funkcjonalności ConcurrentMapinterfejsu, musimy skorzystać z klasy, ConcurrentHashMapktóra go implementuje.

Jak korzystać z ConcurrentMap?

Aby użyć ConcurrentMap, musimy najpierw zaimportować java.util.concurrent.ConcurrentMappakiet. Po zaimportowaniu pakietu, oto jak możemy stworzyć współbieżną mapę.

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

W powyższym kodzie stworzyliśmy współbieżną mapę nazwaną liczbami.

Tutaj,

  • Klucz - unikalny identyfikator służący do powiązania każdego elementu (wartości) na mapie
  • Wartość - elementy skojarzone z kluczami w mapie

Metody ConcurrentMap

ConcurrentMapInterfejs obejmuje wszystkie sposoby przez Mapinterfejs. To dlatego, że Mapjest super interfejsem ConcurrentMapinterfejsu.

Oprócz tych wszystkich metod, oto metody specyficzne dla ConcurrentMapinterfejsu.

  • putIfAbsent () - wstawia określony klucz / wartość do mapy, jeśli określony klucz nie jest już powiązany z żadną wartością.
  • compute () - Oblicza wpis (mapowanie klucz / wartość) dla określonego klucza i jego wcześniej zamapowanej wartości.
  • computeIfAbsent () - oblicza wartość przy użyciu określonej funkcji dla określonego klucza, jeśli klucz nie jest już zamapowany na żadną wartość.
  • computeIfPresent () - Oblicza nowy wpis (mapowanie klucz / wartość) dla określonego klucza, jeśli klucz jest już zamapowany na określoną wartość.
  • forEach () - Uzyskaj dostęp do wszystkich wpisów mapy i wykonaj określone czynności.
  • merge () - scala nową określoną wartość ze starą wartością określonego klucza, jeśli klucz jest już zamapowany na określoną wartość. Jeśli klucz nie jest jeszcze zamapowany, metoda po prostu kojarzy określoną wartość z naszym kluczem.

Aby dowiedzieć się więcej, odwiedź stronę Java ConcurrentMap (oficjalna dokumentacja Java).

Implementacja ConcurrentMap w 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); ) ) 

Wynik

 ConcurrentMap: (One = 1, Two = 2, Three = 3) Dostępna wartość: 1 Usunięta wartość: 2 

Aby dowiedzieć się więcej ConcurrentHashMap, odwiedź stronę Java ConcurrentHashMap.

Interesujące artykuły...