Kako ukloniti i pristupiti elementima ConcurrentHashMap u Javi?

Kako Ukloniti I Pristupiti Elementima Concurrenthashmap U Javi



' ConcurrentHashMap ” klasa je poboljšana verzija tradicionalnog HashMapa. Pruža puno prednosti programeru poput uštede puno vremena, više lakoće i povećava fleksibilnost. Može obavljati više zadataka jedan pored drugog u isto vrijeme, međutim za višestruke nadogradnje vrijednosti čvorova obavlja se samo jedna nadogradnja u isto vrijeme.

Ovaj članak demonstrira postupak uklanjanja i pristupa ConcurrentHashMap elementima u Javi.

Kako ukloniti ConcurrentHashMap elemente u Javi?

Specifični elementi mogu se ukloniti iz ' ConcurrentHashMap ' elementi kroz ' ukloniti() ” metoda. Za uklanjanje svih elemenata odjednom, ' čisto() ” najbolja je opcija za odabir.







Također postoje dvije varijacije metode 'remove()':



  • ' ukloniti (ključ) ” briše entitet koji ima navedeno “ ključ ” iz “ConcurrentHashMap”.
  • ' ukloniti (ključ, vrijednost) ” briše entitet koji je naveo “ ključ ” duž odgovarajućeg “ vrijednost ” iz “ConcurrentHashMap”.

Posjetite donji blok koda za bolje objašnjenje:



uvoz java.util.concurrent.ConcurrentHashMap ;
razreda Korijen
{
javnost statički poništiti glavni ( Niz [ ] args ) //kreiranje metode main().
{ // ConcurrentHashMap deklaracija
Tim ConcurrentHashMap = novi ConcurrentHashMap ( ) ;
Tim. staviti ( 'Thor' , 2 ) ;
Tim. staviti ( 'čudno' , 4 ) ;
Tim. staviti ( 'oko sokolovo' , 6 ) ;
Sustav . van . println ( 'ConcurrentHashMap: ' + Tim ) ;

int vrijednost = Tim. ukloniti ( 'čudno' ) ;
Sustav . van . println ( 'Vrijednost ' + vrijednost + 'uklonjen je' ) ;
Sustav . van . println ( 'ConcurrentHashMap: ' + Tim ) ;

Booleov proizlaziti = Tim. ukloniti ( 'oko sokolovo' , 6 ) ;
Sustav . van . println ( 'Je li unos {Hawkeye = 6} uklonjen?' + proizlaziti ) ;
Sustav . van . println ( 'Ažurirana ConcurrentHashMap: ' + Tim ) ;

Tim. čisto ( ) ;
Sustav . van . println ( 'Ažurirana ConcurrentHashMap: ' + Tim ) ;

}
}

Opis gornjeg bloka koda:





  • Prvo, 'ConcurrentHashMap' pod nazivom ' Tim ' se stvara, a zatim se lažni podaci umetnu u njega pomoću ' staviti ” metoda.
  • Zatim, ' ukloniti() ” koristi se metoda i ključ od „ Čudno ” mu se prosljeđuje. Ova metoda uklanja entitet s karte koji ima ključ 'Čudno'.
  • Osim toga, prikažite preostale elemente mape putem 'ConcurrentHashMap'.
  • Sada prođite ' ključ ” i odgovarajući “ vrijednost ' prema ' ukloniti() ” za brisanje entiteta iz “ConcurrentHashMap” koji ima određeni ključ i vrijednost.
  • Nakon toga, prikažite 'ConcurrentHashMap' da vizualno vidite razliku.
  • Na kraju, upotrijebite ' čisto() ” za brisanje svih stalnih elemenata unutar “ConcurrentHashMap”. Također, prikažite 'ConcurrentHashMap' na konzoli na kraju.

Nakon završetka faze kompilacije:



Snimka prikazuje elemente koji su uklonjeni iz ConcurrentHashMap.

Kako pristupiti elementima ConcurrentHashMap u Javi?

Elementi ' ConcurrentHashMap ” može se pristupiti korištenjem više grupa metoda. Prva grupa uključuje ' unosSet() ”, “ KeySet() ' i ' vrijednosti() ” metode. Koriste se za dohvaćanje svih elemenata odjednom. Koristeći gore navedene metode, programer može odlučiti dohvatiti sve ' ključevi ”, “ vrijednosti ' ili oboje ' ključ/vrijednost ” preslikavanje karte.

Posjetite donji kod za razumijevanje praktične primjene gore navedenih metoda:

uvoz java.util.concurrent.ConcurrentHashMap ;

razreda Glavni {
javnost statički poništiti glavni ( Niz [ ] args ) //kreiranje metode main().
{ // ConcurrentHashMap deklaracija
Tim ConcurrentHashMap = novi ConcurrentHashMap ( ) ;
Tim. staviti ( 'Thor' , 2 ) ;
Tim. staviti ( 'čudno' , 4 ) ;
Tim. staviti ( 'oko sokolovo' , 6 ) ;
Tim. staviti ( 'Crna pantera' , 8 ) ;
Sustav . van . println ( 'ConcurrentHashMap: ' + Tim ) ;
Sustav . van . println ( 'Dohvati ključ i vrijednosti: ' + Tim. unosSet ( ) ) ;
Sustav . van . println ( 'Dohvati ključeve: ' + Tim. ključSet ( ) ) ;
Sustav . van . println ( 'Dohvati vrijednosti: ' + Tim. vrijednosti ( ) ) ;
}
}

Opis gornjeg bloka koda:

  • Prvo stvorite 'ConcurrentHashMap' pod nazivom ' Tim ' i umetnite više elemenata u njega pomoću ' staviti() ” metoda.
  • Zatim prikažite 'ConcurrentHashMap' na konzoli koristeći ' out.println() ” metoda.
  • Zatim upotrijebite ' unosSet() ” za dohvaćanje svih podataka prisutnih na karti.
  • Nakon toga upotrijebite ' KeySet() ” za dohvaćanje samo ključeva s karte.
  • Na kraju upotrijebite ' vrijednosti() ” za dohvaćanje samo vrijednosti povezanih sa svakim ključem. Ovo vraća samo vrijednosti u nizu.

Nakon izvršenja gornjeg koda:

U gornjoj snimci, izlaz gore korištenih metoda prikazan je na konzoli. Granice različitih boja koriste se za stvaranje vizualnog odvajanja između rezultata svake metode.

Sada, druga grupa uključuje ' dobiti() ' i ' getOrDefault() ” metode. Ove se metode koriste za dohvaćanje ' ključevi ' od ' ConcurrentHashMap ”. Na primjer, posjetite donji blok koda:

uvoz java.util.concurrent.ConcurrentHashMap ;
razreda Glavni {
javnost statički poništiti glavni ( Niz [ ] args ) //kreiranje metode main().
{ // ConcurrentHashMap deklaracija
Tim ConcurrentHashMap = novi ConcurrentHashMap ( ) ;
Tim. staviti ( 'Thor' , 2 ) ;
Tim. staviti ( 'čudno' , 4 ) ;
Tim. staviti ( 'oko sokolovo' , 6 ) ;
Tim. staviti ( 'Crna pantera' , 8 ) ;
Sustav . van . println ( 'Korištenje getOrDefault(): ' + vrijednost2 ) ;

int vrijednost1 = Tim. dobiti ( 'oko sokolovo' ) ;
Sustav . van . println ( 'Dohvaćeni ključ za navedenu vrijednost je: ' + vrijednost1 ) ;
int vrijednost2 = Tim. getOrDefault ( 'Romanoff' , 10 ) ;
Sustav . van . println ( 'ConcurrentHashMap: ' + Tim ) ;
}
}

Objašnjenje gornjeg koda:

  • Iskoristite isti ' ConcurrentHashMap ” koji je kreiran u gornjem bloku koda.
  • Osim toga, primijenite ' dobiti() ” i proslijedite vrijednost čiji će se ključ dohvatiti unutar njezine zagrade.
  • Štoviše, koristeći ' getOrDefault() ” metoda koja uzima dva parametra/vrijednosti, vrijednost i zadani ključ. Ako se navedeni objekt pronađe unutar karte, tada se odgovarajući ključ dohvaća. A ako navedena vrijednost nije pronađena tada se koristi zadani ključ.
  • Nakon toga pohranite rezultate obje metode u varijable i prikažite ih na konzoli za potrebe vizualizacije.

Nakon izvršenja gornjeg bloka koda:

Gornja snimka prikazuje ključeve u odnosu na vrijednosti koje su dohvaćene i ispisane na konzoli.

Zaključak

Za uklanjanje/brisanje određenih elemenata iz ' ConcurrentHashMap '' ukloniti() ” može se koristiti metoda. Koristeći ga, programer može izbrisati element koji ima određeni ' ključ ” ili odgovarajući “ vrijednost ”. Uz korištenje ' čisto() ” svaki element koji se nalazi na karti briše se odjednom. Za pristup, ' unosSet() ”, “ KeySet() ' i ' vrijednosti() ” koriste se metode. Oni mogu preuzeti sve ' ključevi/vrijednosti ”, “ ključevi ', i ' vrijednosti ' od ' ConcurrentHashMap ' odjednom. Za dohvaćanje samo određenih ključeva, ' dobiti ' i ' getOrDefault ” koriste se metode.