Java ConcurrentMap Arayüzü

Bu eğiticide, Java ConcurrentMap arayüzü ve yöntemleri hakkında bilgi edineceğiz.

ConcurrentMapJava koleksiyonları çerçevesinin arayüzü evreli haritasını sunuyor. Yani, birden çok iş parçacığı, bir haritadaki girişlerin tutarlılığını etkilemeden haritaya aynı anda erişebilir.

ConcurrentMap senkronize harita olarak bilinir.

Harita arayüzünü genişletir.

ConcurrentMap uygulayan sınıf

Yana ConcurrentMapbir arayüz, biz ondan nesneler oluşturamazsınız.

ConcurrentMapArayüzün işlevlerini kullanabilmek için , onu ConcurrentHashMapuygulayan sınıfı kullanmamız gerekir.

ConcurrentMap nasıl kullanılır?

Öğesini kullanmak için ConcurrentMapönce java.util.concurrent.ConcurrentMappaketi içe aktarmalıyız . Paketi içe aktardıktan sonra, işte eşzamanlı bir haritayı nasıl oluşturabileceğimiz.

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

Yukarıdaki kodda, numaralar adında eşzamanlı bir harita oluşturduk.

Buraya,

  • Anahtar - bir haritadaki her bir öğeyi (değeri) ilişkilendirmek için kullanılan benzersiz bir tanımlayıcı
  • Değer - bir haritadaki anahtarlarla ilişkilendirilen öğeler

ConcurrentMap Yöntemleri

ConcurrentMapArayüzü tüm yöntemleri kapsamaktadır Maparayüz. Bunun nedeni Map, arayüzün süper arayüzü olmasıdır ConcurrentMap.

Tüm bu yöntemlerin yanı sıra, işte ConcurrentMaparayüze özgü yöntemler .

  • putIfAbsent () - Belirtilen anahtar zaten herhangi bir değerle ilişkilendirilmemişse, belirtilen anahtarı / değeri haritaya ekler.
  • compute () - Belirtilen anahtar ve önceden eşlenmiş değeri için bir girişi (anahtar / değer eşlemesi) hesaplar.
  • computeIfAbsent () - Anahtar önceden herhangi bir değerle eşlenmemişse, belirtilen anahtar için belirtilen işlevi kullanarak bir değer hesaplar.
  • computeIfPresent () - Anahtar belirtilen değerle zaten eşlenmişse, belirtilen anahtar için yeni bir giriş (anahtar / değer eşlemesi) hesaplar.
  • forEach () - Bir haritanın tüm girişlerine erişin ve belirtilen eylemleri gerçekleştirin.
  • merge () - Anahtar zaten belirli bir değere eşlenmişse, belirtilen yeni değeri belirtilen anahtarın eski değeriyle birleştirir. Anahtar zaten eşlenmemişse, yöntem yalnızca belirtilen değeri anahtarımızla ilişkilendirir.

Daha fazla bilgi edinmek için Java ConcurrentMap'i (resmi Java belgeleri) ziyaret edin.

ConcurrentHashMap'te ConcurrentMap Uygulaması

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

Çıktı

 ConcurrentMap: (Bir = 1, İki = 2, Üç = 3) Erişilen Değer: 1 Kaldırılan Değer: 2 

Daha fazla bilgi edinmek için ConcurrentHashMapJava ConcurrentHashMap'i ziyaret edin.

Ilginç makaleler...