Java'da ConcurrentHashMap Öğelerini Kaldırma ve Erişme?

Java Da Concurrenthashmap Ogelerini Kaldirma Ve Erisme



EşzamanlıHashMap ” sınıfı, geleneksel HashMap'in geliştirilmiş sürümüdür. Programcıya çok zaman kazandırma, daha fazla kolaylık sağlama ve esnekliği artırma gibi pek çok fayda sağlar. Aynı anda birden çok görevi yan yana gerçekleştirebilir, ancak düğümlerin değerinin birden çok yükseltilmesi için bir seferde yalnızca bir yükseltme yapılır.

Bu makale, Java'da ConcurrentHashMap Öğelerini Kaldırma ve Erişme prosedürünü göstermektedir.

Java'da ConcurrentHashMap Öğeleri Nasıl Kaldırılır?

Belirli öğeler “ EşzamanlıHashMap ” öğeleri aracılığıyla “ kaldırmak() ' yöntem. Tüm öğeleri bir kerede kaldırmak için, “ temizlemek() ” yöntemi, seçilecek en iyi seçenektir.







Ayrıca “remove()” yönteminin iki çeşidi vardır:



  • kaldır(anahtar) ' belirtilen ' değerine sahip varlığı siler anahtar ” “ConcurrentHashMap”ten.
  • kaldır(anahtar, değer) ” belirtilen varlığı siler” anahtar ' karşılık gelen ' boyunca değer ” “ConcurrentHashMap”ten.

Daha iyi bir açıklama için aşağıdaki kod bloğunu ziyaret edin:



içe aktarmak java.util.concurrent.ConcurrentHashMap ;
sınıf Kök
{
halk statik geçersiz ana ( Sicim [ ] argümanlar ) //main() yönteminin oluşturulması
{ // ConcurrentHashMap Bildirimi
ConcurrentHashMap Ekibi = yeni EşzamanlıHashMap ( ) ;
Takım. koymak ( 'Thor' , 2 ) ;
Takım. koymak ( 'Garip' , 4 ) ;
Takım. koymak ( 'Şahin göz' , 6 ) ;
Sistem . dışarı . yazdır ( 'ConcurrentHashMap:' + Takım ) ;

int değer = Takım. kaldırmak ( 'Garip' ) ;
Sistem . dışarı . yazdır ( 'Değer ' + değer + ' kaldırıldı' ) ;
Sistem . dışarı . yazdır ( 'ConcurrentHashMap:' + Takım ) ;

mantıksal sonuç = Takım. kaldırmak ( 'Şahin göz' , 6 ) ;
Sistem . dışarı . yazdır ( '{Hawkeye = 6} girişi kaldırıldı mı?' + sonuç ) ;
Sistem . dışarı . yazdır ( 'Güncellenmiş ConcurrentHashMap: ' + Takım ) ;

Takım. temizlemek ( ) ;
Sistem . dışarı . yazdır ( 'Güncellenmiş ConcurrentHashMap: ' + Takım ) ;

}
}

Yukarıdaki kod bloğunun açıklaması:





  • İlk olarak “ConcurrentHashMap” adlı “ Takım ” oluşturulur ve ardından “ kullanılarak sahte veriler bunun içine eklenir. koymak ' yöntem.
  • Sonra, “ kaldırmak() ” yöntemi kullanılır ve “ anahtarı Garip ” kendisine iletilir. Bu yöntem, 'Garip' anahtarına sahip varlığı haritadan kaldırır.
  • Ek olarak, haritanın kalan öğelerini “ConcurrentHashMap” aracılığıyla görüntüleyin.
  • Şimdi, “ anahtar ” ve karşılık gelen “ değer ” “a kaldırmak() Belirli bir anahtarı ve değeri olan 'ConcurrentHashMap'ten bir varlığı silmek için ' yöntemi.
  • Bundan sonra, farkı görsel olarak görmek için “ConcurrentHashMap”i görüntüleyin.
  • Sonunda, “ temizlemek() 'ConcurrentHashMap' içindeki tüm yerleşik öğeleri silmek için yöntem. Ayrıca konsolda 'ConcurrentHashMap'i en sonda görüntüleyin.

Derleme aşamasının bitiminden sonra:



Anlık görüntü, ConcurrentHashMap'ten kaldırılan öğeleri gösterir.

Java'da ConcurrentHashMap Öğelerine Nasıl Erişilir?

“ unsurları EşzamanlıHashMap ”, birden çok yöntem grubu kullanılarak erişilebilir. İlk grup “ girişKümesi() ”, “ anahtar seti() ' Ve ' değerler() ” yöntemleri. Tüm öğeleri bir kerede almak için kullanılırlar. Yukarıdaki yöntemleri kullanarak, programcı tüm “ anahtarlar ”, “ değerler ' ya da her ikisi de ' anahtar/değer ” haritanın haritalanması.

Yukarıdaki yöntemlerin pratik uygulamasını anlamak için aşağıdaki kodu ziyaret edin:

içe aktarmak java.util.concurrent.ConcurrentHashMap ;

sınıf Ana {
halk statik geçersiz ana ( Sicim [ ] argümanlar ) //main() yönteminin oluşturulması
{ // ConcurrentHashMap Bildirimi
ConcurrentHashMap Ekibi = yeni EşzamanlıHashMap ( ) ;
Takım. koymak ( 'Thor' , 2 ) ;
Takım. koymak ( 'Garip' , 4 ) ;
Takım. koymak ( 'Şahin göz' , 6 ) ;
Takım. koymak ( 'Siyah Panter' , 8 ) ;
Sistem . dışarı . yazdır ( 'ConcurrentHashMap:' + Takım ) ;
Sistem . dışarı . yazdır ( 'Anahtar ve Değerleri Al: ' + Takım. giriş Kümesi ( ) ) ;
Sistem . dışarı . yazdır ( 'Anahtarları Al: ' + Takım. anahtar seti ( ) ) ;
Sistem . dışarı . yazdır ( 'Değerleri Al: ' + Takım. değerler ( ) ) ;
}
}

Yukarıdaki kod bloğunun açıklaması:

  • İlk önce “ConcurrentHashMap” adlı bir “ConcurrentHashMap” oluşturun. Takım ” ve “ kullanarak birden fazla öğe ekleyin. koymak() ' yöntem.
  • Ardından, konsolda “ConcurrentHashMap”i “” kullanarak görüntüleyin. çıktı.println() ' yöntem.
  • Ardından, “ girişKümesi() Haritada bulunan tüm verileri almak için ” yöntemi.
  • Bundan sonra, “ anahtar seti() ” haritadan yalnızca anahtarları almak için yöntem.
  • Sonunda, “ değerler() ” yöntemi, yalnızca her anahtarla ilişkili değerleri almak için. Bu, yalnızca sıradaki değerleri döndürür.

Yukarıdaki kodu çalıştırdıktan sonra:

Yukarıdaki anlık görüntüde, yukarıda kullanılan yöntemlerin çıktısı konsolda görüntülenir. Ve her yöntemin çıktısı arasında görsel bir ayrım oluşturmak için farklı renkli sınırlar kullanılır.

Şimdi, ikinci grup “ elde etmek() ' Ve ' getOrDefault() ” yöntemleri. Bu yöntemler “geri almak için kullanılır” anahtarlar “dan” EşzamanlıHashMap ”. Örneğin, aşağıdaki kod bloğunu ziyaret edin:

içe aktarmak java.util.concurrent.ConcurrentHashMap ;
sınıf Ana {
halk statik geçersiz ana ( Sicim [ ] argümanlar ) //main() yönteminin oluşturulması
{ // ConcurrentHashMap Bildirimi
ConcurrentHashMap Ekibi = yeni EşzamanlıHashMap ( ) ;
Takım. koymak ( 'Thor' , 2 ) ;
Takım. koymak ( 'Garip' , 4 ) ;
Takım. koymak ( 'Şahin göz' , 6 ) ;
Takım. koymak ( 'Siyah Panter' , 8 ) ;
Sistem . dışarı . yazdır ( 'getOrDefault() kullanılarak: ' + değer2 ) ;

int değer1 = Takım. elde etmek ( 'Şahin göz' ) ;
Sistem . dışarı . yazdır ( 'Belirtilen Değer için Alınan Anahtar: ' + değer1 ) ;
int değer2 = Takım. getOrDefault ( 'Romanoff' , 10 ) ;
Sistem . dışarı . yazdır ( 'ConcurrentHashMap:' + Takım ) ;
}
}

Yukarıdaki kodun açıklaması:

  • Aynı ' EşzamanlıHashMap Yukarıdaki kod bloğunda oluşturulan ”.
  • Ayrıca, “ elde etmek() ” yöntemini seçin ve anahtarı alınacak değeri parantez içine geçirin.
  • Ayrıca, “ getOrDefault() ” iki parametre/değer alan yöntem, değer ve varsayılan anahtar. Belirtilen nesne haritanın içinde bulunursa ilgili anahtar alınır. Belirtilen değer bulunamazsa, varsayılan anahtar kullanılır.
  • Bundan sonra, her iki yöntemin sonuçlarını değişkenlerde saklayın ve görselleştirme amacıyla konsolda görüntüleyin.

Yukarıdaki kod bloğunun yürütülmesinden sonra:

Yukarıdaki anlık görüntü, konsolda alınan ve yazdırılan değerlere göre anahtarları görüntüler.

Çözüm

Belirli öğeleri kaldırmak/silmek için “ EşzamanlıHashMap ” “ kaldırmak() ” yöntemi kullanılabilir. Bunu kullanarak, programcı belirli bir '' olan bir öğeyi silebilir. anahtar ” veya karşılık gelen “ değer ”. “ kullanımı ile temizlemek() ” yöntemi, haritada bulunan her öğe bir kerede silinir. Erişim için “ girişKümesi() ”, “ anahtar seti() ' Ve ' değerler() ” yöntemleri kullanılmaktadır. Hepsini alabilirler” anahtarlar/değerler ”, “ anahtarlar ', Ve ' değerler “dan” EşzamanlıHashMap ' bir kerede. Yalnızca belirli anahtarları almak için, “ elde etmek ' Ve ' getOrDefault ” yöntemleri kullanılmaktadır.