Sučelje Java ConcurrentMap

U ovom uputstvu naučit ćemo o sučelju Java ConcurrentMap i njegovim metodama.

ConcurrentMapSučelje Java zbirki okvir pruža kartu nit-sigurno. Odnosno, više niti može pristupiti karti odjednom bez utjecaja na dosljednost unosa na karti.

ConcurrentMap je poznat kao sinkronizirana karta.

Proširuje sučelje Map.

Klasa koja implementira ConcurrentMap

Budući da ConcurrentMapje sučelje, od njega ne možemo stvarati objekte.

Da bismo koristili funkcionalnosti ConcurrentMapsučelja, moramo koristiti klasu ConcurrentHashMapkoja ga implementira.

Kako koristiti ConcurrentMap?

Da bismo koristili ConcurrentMap, prvo moramo uvesti java.util.concurrent.ConcurrentMappaket. Nakon što uvozimo paket, evo kako možemo stvoriti istodobnu kartu.

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

U gornjem kodu stvorili smo istodobnu kartu s brojevima.

Ovdje,

  • Ključ - jedinstveni identifikator koji se koristi za povezivanje svakog elementa (vrijednosti) na karti
  • Vrijednost - elementi pridruženi ključevima na karti

Metode istodobne karte

ConcurrentMapSučelje uključuje sve metode iz Mapsučelja. To je zato što Mapje super sučelje ConcurrentMapsučelja.

Uz sve te metode, ovdje su i metode specifične za ConcurrentMapsučelje.

  • putIfAbsent () - ubacuje navedeni ključ / vrijednost u mapu ako navedeni ključ već nije povezan s bilo kojom vrijednošću.
  • compute () - Izračunava unos (mapiranje ključa / vrijednosti) za navedeni ključ i njegovu prethodno mapiranu vrijednost.
  • computeIfAbsent () - Izračunava vrijednost pomoću navedene funkcije za navedeni ključ ako ključ već nije mapiran s bilo kojom vrijednošću.
  • computeIfPresent () - Izračunava novi unos (mapiranje ključa / vrijednosti) za navedeni ključ ako je ključ već mapiran s navedenom vrijednošću.
  • forEach () - Pristupite svim unosima karte i izvršite navedene radnje.
  • merge () - Spaja novu navedenu vrijednost sa starom vrijednošću navedenog ključa ako je ključ već mapiran na određenu vrijednost. Ako ključ još nije mapiran, metoda jednostavno pridružuje navedenu vrijednost našem ključu.

Da biste saznali više, posjetite Java ConcurrentMap (službena Java dokumentacija).

Implementacija ConcurrentMap u 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); ) ) 

Izlaz

 ConcurrentMap: (One = 1, Two = 2, Three = 3) Pristupljena vrijednost: 1 Uklonjena vrijednost: 2 

Da biste saznali više o ConcurrentHashMap, posjetite Javu ConcurrentHashMap.

Zanimljivi članci...