Интерфейс на Java ConcurrentMap

В този урок ще научим за интерфейса на Java ConcurrentMap и неговите методи.

В ConcurrentMapинтерфейса на колекции рамките на Java осигурява нишка безопасно картата. Тоест, множество нишки могат да имат достъп до картата едновременно, без да се засяга последователността на записите в картата.

ConcurrentMap е известен като синхронизирана карта.

Той разширява интерфейса на картата.

Клас, който реализира ConcurrentMap

Тъй като ConcurrentMapе интерфейс, не можем да създаваме обекти от него.

За да използваме функционалностите на ConcurrentMapинтерфейса, трябва да използваме класа, ConcurrentHashMapкойто го реализира.

Как да използвам ConcurrentMap?

За да използваме ConcurrentMap, първо трябва да импортираме java.util.concurrent.ConcurrentMapпакета. След като импортираме пакета, ето как можем да създадем едновременна карта.

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

В горния код създадохме едновременна карта с имена числа.

Тук,

  • Ключ - уникален идентификатор, използван за свързване на всеки елемент (стойност) в карта
  • Стойност - елементи, свързани с ключове в карта

Методи на ConcurrentMap

В ConcurrentMapинтерфейса включва всички методи на Mapинтерфейса. Това е така, защото Mapе супер интерфейсът на ConcurrentMapинтерфейса.

Освен всички тези методи, тук са и методите, специфични за ConcurrentMapинтерфейса.

  • putIfAbsent () - Вмъква посочения ключ / стойност в картата, ако посоченият ключ вече не е свързан с някаква стойност.
  • compute () - Изчислява запис (картографиране на ключ / стойност) за посочения ключ и неговата предварително картографирана стойност.
  • computeIfAbsent () - Изчислява стойност, използвайки посочената функция за посочения ключ, ако ключът вече не е картографиран с някаква стойност.
  • computeIfPresent () - Изчислява нов запис (съпоставяне на ключ / стойност) за посочения ключ, ако ключът вече е картографиран с посочената стойност.
  • forEach () - Достъп до всички записи на карта и извършване на посочените действия.
  • merge () - Обединява новата определена стойност със старата стойност на посочения ключ, ако ключът вече е съпоставен с определена стойност. Ако ключът още не е картографиран, методът просто свързва посочената стойност с нашия ключ.

За да научите повече, посетете Java ConcurrentMap (официална документация за Java).

Внедряване на ConcurrentMap в 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); ) ) 

Изход

 ConcurrentMap: (One = 1, Two = 2, Three = 3) Достъпна стойност: 1 Премахната стойност: 2 

За да научите повече за ConcurrentHashMap, посетете Java ConcurrentHashMap.

Интересни статии...