Tento článek ukazuje postup odebrání a přístupu k prvkům ConcurrentHashMap v jazyce Java.
Jak odebrat prvky ConcurrentHashMap v Javě?
Konkrétní prvky lze odstranit z „ ConcurrentHashMap prvky prostřednictvím „ odstranit() “ metoda. Chcete-li odstranit všechny prvky najednou, „ Průhledná() “ metoda je nejlepší volbou.
Existují také dvě varianty metody „remove()“:
- ' odstranit (klíč) “ vymaže entitu se zadaným “ klíč “ z „ConcurrentHashMap“.
- ' odstranit (klíč, hodnota) ” odstraní entitu, která zadala “ klíč “ podél odpovídajícího “ hodnota “ z „ConcurrentHashMap“.
Pro lepší vysvětlení navštivte níže uvedený blok kódu:
import java.util.concurrent.ConcurrentHashMap ;
třída Vykořenit
{
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) //vytvoření metody main().
{ // ConcurrentHashMap Declaration
Tým ConcurrentHashMap = Nový ConcurrentHashMap ( ) ;
Tým. dát ( 'Thor' , 2 ) ;
Tým. dát ( 'Podivný' , 4 ) ;
Tým. dát ( 'Hawkeye' , 6 ) ;
Systém . ven . println ( 'ConcurrentHashMap: ' + tým ) ;
int hodnota = Tým. odstranit ( 'Podivný' ) ;
Systém . ven . println ( 'Hodnota ' + hodnota + ' je odebrán' ) ;
Systém . ven . println ( 'ConcurrentHashMap: ' + tým ) ;
booleovský výsledek = Tým. odstranit ( 'Hawkeye' , 6 ) ;
Systém . ven . println ( 'Je položka {Hawkeye = 6} odstraněna?' + výsledek ) ;
Systém . ven . println ( 'Aktualizovaná ConcurrentHashMap: ' + tým ) ;
Tým. Průhledná ( ) ;
Systém . ven . println ( 'Aktualizovaná ConcurrentHashMap: ' + tým ) ;
}
}
Popis výše uvedeného bloku kódu:
- Nejprve „ConcurrentHashMap“ s názvem „ tým “ se vytvoří a poté se do něj vloží fiktivní data pomocí „ dát “ metoda.
- Dále, „ odstranit() “ je použita metoda a klíč “ Podivný “ je předáno. Tato metoda odstraní entitu z mapy s klíčem „Strange“.
- Kromě toho zobrazte zbývající prvky mapy pomocí „ConcurrentHashMap“.
- Nyní předejte „ klíč “ a odpovídající „ hodnota “ na “ odstranit() ” k odstranění entity z „ConcurrentHashMap“, která má specifický klíč a hodnotu.
- Poté zobrazte „ConcurrentHashMap“, abyste vizuálně viděli rozdíl.
- Nakonec využijte „ Průhledná() ” metodu k odstranění všech prvků v „ConcurrentHashMap“. Na konci také zobrazte na konzole „ConcurrentHashMap“.
Po skončení fáze kompilace:
Snímek zobrazuje prvky, které byly odstraněny z ConcurrentHashMap.
Jak získat přístup k prvkům ConcurrentHashMap v Javě?
Prvky „ ConcurrentHashMap “ lze získat pomocí více skupin metod. Do první skupiny patří „ entrySet() “, “ keySet() ' a ' hodnoty() “ metody. Používají se k načtení všech prvků najednou. Pomocí výše uvedených metod se programátor může rozhodnout načíst všechny „ klíče “, “ hodnoty ' nebo oboje ' klíč/hodnota “ mapování mapy.
Pro pochopení praktické implementace výše uvedených metod navštivte níže uvedený kód:
import java.util.concurrent.ConcurrentHashMap ;třída Hlavní {
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) //vytvoření metody main().
{ // ConcurrentHashMap Declaration
Tým ConcurrentHashMap = Nový ConcurrentHashMap ( ) ;
Tým. dát ( 'Thor' , 2 ) ;
Tým. dát ( 'Podivný' , 4 ) ;
Tým. dát ( 'Hawkeye' , 6 ) ;
Tým. dát ( 'Černý panter' , 8 ) ;
Systém . ven . println ( 'ConcurrentHashMap: ' + tým ) ;
Systém . ven . println ( 'Načíst klíč a hodnoty:' + Tým. entrySet ( ) ) ;
Systém . ven . println ( 'Získat klíče:' + Tým. keySet ( ) ) ;
Systém . ven . println ( 'Načíst hodnoty: ' + Tým. hodnoty ( ) ) ;
}
}
Popis výše uvedeného bloku kódu:
- Nejprve vytvořte „ConcurrentHashMap“ s názvem „ tým “ a vložte do něj více prvků pomocí „ dát() “ metoda.
- Dále zobrazte „ConcurrentHashMap“ na konzole pomocí „ out.println() “ metoda.
- Poté použijte „ entrySet() ” metoda k načtení všech dat přítomných na mapě.
- Poté použijte „ keySet() ” metoda pro načtení pouze klíčů z mapy.
- Nakonec použijte „ hodnoty() ” metoda k načtení pouze hodnot spojených s každým klíčem. Tím se vrátí pouze hodnoty v pořadí.
Po provedení výše uvedeného kódu:
Na výše uvedeném snímku je na konzole zobrazen výstup výše použitých metod. A různé barevné hranice se používají k vytvoření vizuálního oddělení mezi výstupem každé metody.
Nyní do druhé skupiny patří „ dostat() ' a ' getOrDefault() “ metody. Tyto metody se používají k získání „ klíče “ z „ ConcurrentHashMap “. Navštivte například níže uvedený blok kódu:
import java.util.concurrent.ConcurrentHashMap ;třída Hlavní {
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) //vytvoření metody main().
{ // ConcurrentHashMap Declaration
Tým ConcurrentHashMap = Nový ConcurrentHashMap ( ) ;
Tým. dát ( 'Thor' , 2 ) ;
Tým. dát ( 'Podivný' , 4 ) ;
Tým. dát ( 'Hawkeye' , 6 ) ;
Tým. dát ( 'Černý panter' , 8 ) ;
Systém . ven . println ( 'Pomocí getOrDefault(): ' + hodnota2 ) ;
int hodnota1 = Tým. dostat ( 'Hawkeye' ) ;
Systém . ven . println ( 'Načtený klíč pro zadanou hodnotu je: ' + hodnota1 ) ;
int hodnota2 = Tým. getOrDefault ( 'Romanoff' , 10 ) ;
Systém . ven . println ( 'ConcurrentHashMap: ' + tým ) ;
}
}
Vysvětlení výše uvedeného kódu:
- Použijte totéž' ConcurrentHashMap “, který je vytvořen ve výše uvedeném bloku kódu.
- Kromě toho použijte „ dostat() ” a předejte hodnotu, jejíž klíč bude načten, do jeho závorek.
- Navíc s využitím „ getOrDefault() ” metoda, která přebírá dva parametry/hodnoty, hodnotu a výchozí klíč. Pokud je zadaný objekt nalezen uvnitř mapy, získá se odpovídající klíč. A pokud zadaná hodnota není nalezena, použije se výchozí klíč.
- Poté uložte výsledky obou metod do proměnných a zobrazte je na konzole pro účely vizualizace.
Po provedení výše uvedeného bloku kódu:
Výše uvedený snímek zobrazuje klíče relativně k hodnotám načteným a vytištěným na konzole.
Závěr
Chcete-li odstranit/smazat konkrétní prvky z „ ConcurrentHashMap 'ta' odstranit() “ lze použít metodu. Jeho použitím může programátor odstranit prvek, který má specifickou „ klíč “ nebo odpovídající „ hodnota “. S použitím „ Průhledná() ” se každý prvek umístěný na mapě smaže najednou. Pro přístup „ entrySet() “, “ keySet() ' a ' hodnoty() “ používají se metody. Mohou získat všechny“ klíče/hodnoty “, “ klíče ', a ' hodnoty “ z „ ConcurrentHashMap ' najednou. Chcete-li načíst pouze určité klíče, „ dostat ' a ' getOrDefault “ používají se metody.