Jak odebrat a získat přístup k prvkům ConcurrentHashMap v Javě?

Jak Odebrat A Ziskat Pristup K Prvkum Concurrenthashmap V Jave



' ConcurrentHashMap ” class je vylepšená verze tradiční HashMap. Programátorovi poskytuje mnoho výhod, jako je úspora času, větší snadnost a zvýšení flexibility. Může provádět více úkolů vedle sebe současně, avšak pro více upgradů hodnoty uzlů se provádí vždy pouze jeden upgrade.

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.