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.