Hoe gelijktijdigeHashMap-elementen in Java te verwijderen en te openen?

Hoe Gelijktijdigehashmap Elementen In Java Te Verwijderen En Te Openen



De ' GelijktijdigeHashMap ” class is de verbeterde versie van traditionele HashMap. Het biedt de programmeur veel voordelen, zoals veel tijd besparen, meer gemak en meer flexibiliteit. Het kan tegelijkertijd meerdere taken naast elkaar uitvoeren, maar voor meerdere upgrades van de waarde van knooppunten wordt slechts één upgrade tegelijk uitgevoerd.

Dit artikel demonstreert de procedure voor het verwijderen en openen van ConcurrentHashMap-elementen in Java.

Hoe gelijktijdigeHashMap-elementen in Java te verwijderen?

De specifieke elementen kunnen worden verwijderd uit de “ GelijktijdigeHashMap ” elementen door de “ verwijderen() ” methode. Om alle elementen in één keer te verwijderen, de ' duidelijk() ” methode is de beste optie om te kiezen.







Er zijn ook twee variaties op de methode 'verwijderen()':



  • De ' verwijderen(sleutel) ” verwijdert de entiteit met de gespecificeerde “ sleutel ” van de “ConcurrentHashMap”.
  • De ' verwijderen(sleutel, waarde) ” verwijdert de entiteit die heeft gespecificeerd “ sleutel ” langs de bijbehorende “ waarde ” van de “ConcurrentHashMap”.

Bezoek het onderstaande codeblok voor een betere uitleg:



importeren java.util.concurrent.ConcurrentHashMap ;
klas Wortel
{
openbaar statisch leegte voornaamst ( Snaar [ ] argumenten ) // creatie van main() methode
{ // ConcurrentHashMap-verklaring
ConcurrentHashMap-team = nieuw GelijktijdigeHashMap ( ) ;
Team. neerzetten ( 'Tor' , 2 ) ;
Team. neerzetten ( 'Vreemd' , 4 ) ;
Team. neerzetten ( 'Hawkeye' , 6 ) ;
Systeem . uit . println ( 'GelijktijdigeHashMap: ' + Team ) ;

int waarde = Team. verwijderen ( 'Vreemd' ) ;
Systeem . uit . println ( 'De waarde ' + waarde + ' is verwijderd' ) ;
Systeem . uit . println ( 'GelijktijdigeHashMap: ' + Team ) ;

booleaans resultaat = Team. verwijderen ( 'Hawkeye' , 6 ) ;
Systeem . uit . println ( 'Is het item {Hawkeye = 6} verwijderd?' + resultaat ) ;
Systeem . uit . println ( 'Bijgewerkte ConcurrentHashMap: ' + Team ) ;

Team. duidelijk ( ) ;
Systeem . uit . println ( 'Bijgewerkte ConcurrentHashMap: ' + Team ) ;

}
}

Beschrijving van het bovenstaande codeblok:





  • Ten eerste, de 'ConcurrentHashMap' met de naam ' Team ' wordt gemaakt en vervolgens worden er dummygegevens ingevoegd met behulp van de ' neerzetten ” methode.
  • Vervolgens de “ verwijderen() ” methode wordt gebruikt en de sleutel van “ Vreemd ” wordt eraan doorgegeven. Deze methode verwijdert de entiteit van de kaart met de sleutel 'Vreemd'.
  • Geef bovendien de resterende elementen van de kaart weer via de 'ConcurrentHashMap'.
  • Geef nu de ' sleutel ” en bijbehorende “ waarde ' naar de ' verwijderen() '-methode om een ​​entiteit te verwijderen uit de 'ConcurrentHashMap' die een specifieke sleutel en waarde heeft.
  • Geef daarna de 'ConcurrentHashMap' weer om het verschil visueel te zien.
  • Gebruik ten slotte de ' duidelijk() '-methode om alle aanwezige elementen in de 'ConcurrentHashMap' te verwijderen. Geef ook aan het einde de 'ConcurrentHashMap' op de console weer.

Na het einde van de compilatiefase:



De momentopname toont de elementen die zijn verwijderd uit de ConcurrentHashMap.

Toegang krijgen tot gelijktijdigeHashMap-elementen in Java?

De elementen van de “ GelijktijdigeHashMap ” is toegankelijk door gebruik te maken van meerdere groepen methoden. De eerste groep bestaat uit “ entrySet() ”, “ sleutelbos() ' En ' waarden() ” methoden. Ze worden gebruikt om alle elementen tegelijk op te halen. Door de bovenstaande methoden te gebruiken, kan de programmeur ervoor kiezen om alle ' sleutels ”, “ waarden ' of allebei ' sleutel waarde ” in kaart brengen van de kaart.

Bezoek de onderstaande code om de praktische implementatie van de bovenstaande methoden te begrijpen:

importeren java.util.concurrent.ConcurrentHashMap ;

klas Voornaamst {
openbaar statisch leegte voornaamst ( Snaar [ ] argumenten ) // creatie van main() methode
{ // ConcurrentHashMap-verklaring
ConcurrentHashMap-team = nieuw GelijktijdigeHashMap ( ) ;
Team. neerzetten ( 'Tor' , 2 ) ;
Team. neerzetten ( 'Vreemd' , 4 ) ;
Team. neerzetten ( 'Hawkeye' , 6 ) ;
Team. neerzetten ( 'Zwarte Panter' , 8 ) ;
Systeem . uit . println ( 'GelijktijdigeHashMap: ' + Team ) ;
Systeem . uit . println ( 'Sleutel en waarden ophalen: ' + Team. entrySet ( ) ) ;
Systeem . uit . println ( 'Sleutels ophalen: ' + Team. sleutelbos ( ) ) ;
Systeem . uit . println ( 'Waarden ophalen: ' + Team. waarden ( ) ) ;
}
}

Beschrijving van het bovenstaande codeblok:

  • Maak eerst een 'ConcurrentHashMap' met de naam ' Team ' en voeg er meerdere elementen in met behulp van de ' neerzetten() ” methode.
  • Geef vervolgens de 'ConcurrentHashMap' weer op de console met behulp van de ' uit.println() ” methode.
  • Gebruik dan de ' entrySet() ” methode om alle gegevens op de kaart op te halen.
  • Gebruik daarna de ' sleutelbos() ” methode om alleen sleutels van de kaart op te halen.
  • Gebruik ten slotte de ' waarden() '-methode om alleen waarden op te halen die aan elke sleutel zijn gekoppeld. Dit retourneert alleen waarden in volgorde.

Na het uitvoeren van bovenstaande code:

In de bovenstaande momentopname wordt de uitvoer van de hierboven gebruikte methoden weergegeven op de console. En verschillende gekleurde grenzen worden gebruikt om een ​​visuele scheiding te creëren tussen de uitvoer van elke methode.

Nu omvat de tweede groep de ' krijgen() ' En ' haalOfStandaard() ” methoden. Deze methoden worden gebruikt om de ' sleutels ' van de ' GelijktijdigeHashMap ”. Bezoek bijvoorbeeld het onderstaande codeblok:

importeren java.util.concurrent.ConcurrentHashMap ;
klas Voornaamst {
openbaar statisch leegte voornaamst ( Snaar [ ] argumenten ) // creatie van main() methode
{ // ConcurrentHashMap-verklaring
ConcurrentHashMap-team = nieuw GelijktijdigeHashMap ( ) ;
Team. neerzetten ( 'Tor' , 2 ) ;
Team. neerzetten ( 'Vreemd' , 4 ) ;
Team. neerzetten ( 'Hawkeye' , 6 ) ;
Team. neerzetten ( 'Zwarte Panter' , 8 ) ;
Systeem . uit . println ( 'Met behulp van getOrDefault(): ' + waarde2 ) ;

int waarde1 = Team. krijgen ( 'Hawkeye' ) ;
Systeem . uit . println ( 'Opgehaalde sleutel voor opgegeven waarde is: ' + waarde1 ) ;
int waarde2 = Team. getOrDefault ( 'Romanoff' , 10 ) ;
Systeem . uit . println ( 'GelijktijdigeHashMap: ' + Team ) ;
}
}

Uitleg van de bovenstaande code:

  • Gebruik dezelfde ' GelijktijdigeHashMap ” die is gemaakt in het bovenstaande codeblok.
  • Pas bovendien de “ krijgen() ” methode en geef de waarde door waarvan de sleutel binnen de haakjes zal worden opgehaald.
  • Bovendien maakt u gebruik van de “ haalOfStandaard() ” methode die twee parameters/waarden nodig heeft, de waarde en de standaardsleutel. Als het opgegeven object binnen de kaart wordt gevonden, wordt de bijbehorende sleutel opgehaald. En als de opgegeven waarde niet wordt gevonden, wordt de standaardsleutel gebruikt.
  • Sla daarna de resultaten van beide methoden op in variabelen en geef ze weer op de console voor visualisatiedoeleinden.

Na de uitvoering van het bovenstaande codeblok:

De bovenstaande momentopname toont de sleutels ten opzichte van de waarden die zijn opgehaald en afgedrukt op de console.

Conclusie

Om specifieke elementen uit de “ GelijktijdigeHashMap ' de ' verwijderen() ”-methode kan worden gebruikt. Door het te gebruiken, kan de programmeur een element verwijderen dat een specifiek ' sleutel ” of overeenkomstige “ waarde ”. Met behulp van de ' duidelijk() ”-methode, wordt elk element op de kaart in één keer verwijderd. Voor toegang, de “ entrySet() ”, “ sleutelbos() ' En ' waarden() 'methodes worden gebruikt. Ze kunnen alles ophalen “ sleutels/waarden ”, “ sleutels ', En ' waarden ' van de ' GelijktijdigeHashMap ' onmiddelijk. Om alleen specifieke sleutels op te halen, de ' krijgen ' En ' getOrDefault 'methodes worden gebruikt.