Come rimuovere e accedere agli elementi ConcurrentHashMap in Java?

Come Rimuovere E Accedere Agli Elementi Concurrenthashmap In Java



IL ' ConcurrentHashMap ” class è la versione migliorata della tradizionale HashMap. Offre molti vantaggi al programmatore come risparmiare molto tempo, più facilità e migliorare la flessibilità. Può eseguire più attività fianco a fianco contemporaneamente, tuttavia per più aggiornamenti del valore dei nodi viene eseguito solo un aggiornamento alla volta.

Questo articolo illustra la procedura per rimuovere e accedere agli elementi ConcurrentHashMap in Java.

Come rimuovere gli elementi ConcurrentHashMap in Java?

Gli elementi specifici possono essere rimossi dal “ ConcurrentHashMap ” elementi attraverso il “ rimuovere() ' metodo. Per rimuovere tutti gli elementi contemporaneamente, il ' chiaro() Il metodo 'è l'opzione migliore da scegliere.







Esistono anche due varianti del metodo “remove()”:



  • IL ' rimuovere (chiave) ” elimina l'entità che ha specificato “ chiave ” da “ConcurrentHashMap”.
  • IL ' rimuovi(chiave, valore) ” elimina l'entità che ha specificato “ chiave ” lungo il corrispondente “ valore ” da “ConcurrentHashMap”.

Visita il blocco di codice seguente per una spiegazione migliore:



importare java.util.concurrent.ConcurrentHashMap ;
classe Radice
{
pubblico statico vuoto principale ( Corda [ ] arg ) //creazione del metodo main()
{ // Dichiarazione ConcurrentHashMap
Squadra HashMap simultanea = nuovo ConcurrentHashMap ( ) ;
Squadra. Mettere ( 'Thor' , 2 ) ;
Squadra. Mettere ( 'Strano' , 4 ) ;
Squadra. Mettere ( 'Occhio di Falco' , 6 ) ;
Sistema . fuori . println ( 'Mappa hash simultanea: ' + Squadra ) ;

int valore = Squadra. rimuovere ( 'Strano' ) ;
Sistema . fuori . println ( 'Il valore ' + valore + ' è rimosso' ) ;
Sistema . fuori . println ( 'Mappa hash simultanea: ' + Squadra ) ;

booleano risultato = Squadra. rimuovere ( 'Occhio di Falco' , 6 ) ;
Sistema . fuori . println ( 'La voce {Hawkeye = 6} è stata rimossa?' + risultato ) ;
Sistema . fuori . println ( 'ConcurrentHashMap aggiornato: ' + Squadra ) ;

Squadra. chiaro ( ) ;
Sistema . fuori . println ( 'ConcurrentHashMap aggiornato: ' + Squadra ) ;

}
}

Descrizione del blocco di codice sopra:





  • Innanzitutto, la 'ConcurrentHashMap' denominata ' Squadra ” viene creato, e quindi i dati fittizi vengono inseriti al suo interno utilizzando il “ Mettere ' metodo.
  • Successivamente, il “ rimuovere() ” viene utilizzato il metodo e la chiave di “ Strano ” è passato ad esso. Questo metodo rimuove l'entità dalla mappa con una chiave di 'Strange'.
  • Inoltre, visualizza gli elementi rimanenti della mappa tramite 'ConcurrentHashMap'.
  • Ora, passa il ' chiave ” e corrispondente “ valore ' al ' rimuovere() ” per eliminare un'entità da “ConcurrentHashMap” che ha una chiave e un valore specifici.
  • Successivamente, visualizza 'ConcurrentHashMap' per vedere visivamente la differenza.
  • Alla fine, utilizza il ' chiaro() ” per eliminare tutti gli elementi residenti all'interno della “ConcurrentHashMap”. Inoltre, visualizza 'ConcurrentHashMap' sulla console alla fine.

Al termine della fase di compilazione:



L'istantanea mostra gli elementi che sono stati rimossi da ConcurrentHashMap.

Come accedere agli elementi ConcurrentHashMap in Java?

Gli elementi del “ ConcurrentHashMap ” è possibile accedervi utilizzando più gruppi di metodi. Il primo gruppo comprende “ voceInsieme() ”, “ mazzo di chiavi() ' E ' valori() metodi. Sono utilizzati per recuperare tutti gli elementi contemporaneamente. Utilizzando i metodi di cui sopra, il programmatore può scegliere di recuperare tutti i ' chiavi ”, “ valori ' o entrambi ' chiave/valore ” mappatura della mappa.

Visita il codice seguente per comprendere l'implementazione pratica dei metodi di cui sopra:

importare java.util.concurrent.ConcurrentHashMap ;

classe Principale {
pubblico statico vuoto principale ( Corda [ ] arg ) //creazione del metodo main()
{ // Dichiarazione ConcurrentHashMap
Squadra HashMap simultanea = nuovo ConcurrentHashMap ( ) ;
Squadra. Mettere ( 'Thor' , 2 ) ;
Squadra. Mettere ( 'Strano' , 4 ) ;
Squadra. Mettere ( 'Occhio di Falco' , 6 ) ;
Squadra. Mettere ( 'Pantera nera' , 8 ) ;
Sistema . fuori . println ( 'Mappa hash simultanea: ' + Squadra ) ;
Sistema . fuori . println ( 'Recupera chiave e valori: ' + Squadra. entrySet ( ) ) ;
Sistema . fuori . println ( 'Recupera chiavi: ' + Squadra. mazzo di chiavi ( ) ) ;
Sistema . fuori . println ( 'Recupera valori: ' + Squadra. valori ( ) ) ;
}
}

Descrizione del blocco di codice sopra:

  • Innanzitutto, crea una 'ConcurrentHashMap' denominata ' Squadra ” e inserire più elementi in esso utilizzando il “ Mettere() ' metodo.
  • Successivamente, visualizza 'ConcurrentHashMap' sulla console utilizzando ' out.println() ' metodo.
  • Quindi, usa il ' voceInsieme() ” metodo per recuperare tutti i dati presenti sulla mappa.
  • Successivamente, utilizzare il ' mazzo di chiavi() ” metodo per recuperare solo le chiavi dalla mappa.
  • Alla fine, usa il ' valori() ” metodo per recuperare solo i valori associati a ciascuna chiave. Questo restituisce solo i valori in sequenza.

Dopo l'esecuzione del codice precedente:

Nell'istantanea precedente, l'output dei metodi utilizzati sopra viene visualizzato sulla console. E diversi confini colorati vengono utilizzati per creare una separazione visiva tra l'output di ciascun metodo.

Ora, il secondo gruppo include il ' Ottenere() ' E ' getOrDefault() metodi. Questi metodi sono utilizzati per recuperare il ' chiavi ' dal ' ConcurrentHashMap ”. Ad esempio, visita il seguente blocco di codice:

importare java.util.concurrent.ConcurrentHashMap ;
classe Principale {
pubblico statico vuoto principale ( Corda [ ] arg ) //creazione del metodo main()
{ // Dichiarazione ConcurrentHashMap
Squadra HashMap simultanea = nuovo ConcurrentHashMap ( ) ;
Squadra. Mettere ( 'Thor' , 2 ) ;
Squadra. Mettere ( 'Strano' , 4 ) ;
Squadra. Mettere ( 'Occhio di Falco' , 6 ) ;
Squadra. Mettere ( 'Pantera nera' , 8 ) ;
Sistema . fuori . println ( 'Usando getOrDefault(): ' + valore2 ) ;

int valore1 = Squadra. Ottenere ( 'Occhio di Falco' ) ;
Sistema . fuori . println ( 'La chiave recuperata per il valore specificato è: ' + valore1 ) ;
int valore2 = Squadra. getOrDefault ( 'Romanoff' , 10 ) ;
Sistema . fuori . println ( 'Mappa hash simultanea: ' + Squadra ) ;
}
}

Spiegazione del codice precedente:

  • Utilizza lo stesso “ ConcurrentHashMap ” che viene creato nel blocco di codice sopra.
  • Inoltre, applica il ' Ottenere() ” e passa il valore la cui chiave verrà recuperata all'interno delle sue parentesi.
  • Inoltre, utilizzando il “ getOrDefault() ” metodo che accetta due parametri/valori, il valore e la chiave predefinita. Se l'oggetto specificato viene trovato all'interno della mappa, viene recuperata la chiave corrispondente. E se il valore specificato non viene trovato, viene utilizzata la chiave predefinita.
  • Successivamente, archivia i risultati di entrambi i metodi nelle variabili e visualizzali sulla console a scopo di visualizzazione.

Dopo l'esecuzione del blocco di codice sopra:

L'istantanea sopra mostra le chiavi relative ai valori recuperati e stampati sulla console.

Conclusione

Per rimuovere/eliminare elementi specifici dal “ ConcurrentHashMap ' IL ' rimuovere() ” metodo può essere utilizzato. Usandolo, il programmatore può eliminare un elemento che ha uno specifico ' chiave ” o corrispondente “ valore ”. Con l'uso del “ chiaro() ” metodo, ogni elemento che risiede sulla mappa viene eliminato in una sola volta. Per l'accesso il “ voceInsieme() ”, “ mazzo di chiavi() ' E ' valori() vengono utilizzati i metodi. Possono recuperare tutto “ chiavi/valori ”, “ chiavi ', E ' valori ' dal ' ConcurrentHashMap ' subito. Per recuperare solo chiavi specifiche, il ' Ottenere ' E ' getOrDefault vengono utilizzati i metodi.