Kaip pašalinti ir pasiekti „ConcurrentHashMap“ elementus „Java“?

Kaip Pasalinti Ir Pasiekti Concurrenthashmap Elementus Java



ConcurrentHashMap “ klasė yra patobulinta tradicinio HashMap versija. Programuotojui tai suteikia daug privalumų, pavyzdžiui, sutaupo daug laiko, daugiau patogumo ir padidina lankstumą. Jis gali atlikti kelias užduotis greta tuo pačiu metu, tačiau kelis kartus atnaujinant mazgų vertę vienu metu atliekamas tik vienas atnaujinimas.

Šiame straipsnyje parodyta, kaip pašalinti ir pasiekti ConcurrentHashMap elementus Java.

Kaip pašalinti „ConcurrentHashMap“ elementus iš „Java“?

Konkrečius elementus galima pašalinti iš „ ConcurrentHashMap “ elementai per „ pašalinti () “ metodas. Norėdami pašalinti visus elementus iš karto, „ aišku () “ metodas yra geriausias pasirinkimas.





Taip pat yra du metodo „pašalinti ()“ variantai:



  • pašalinti (raktas) “ ištrina objektą, turintį nurodytą “ Raktas “ iš „ConcurrentHashMap“.
  • pašalinti (raktas, vertė) “ ištrina objektą, kuris nurodė “ Raktas “ palei atitinkamą “ vertė “ iš „ConcurrentHashMap“.

Norėdami gauti geresnį paaiškinimą, apsilankykite toliau pateiktame kodų bloke:



importuoti java.util.concurrent.ConcurrentHashMap ;
klasė Šaknis
{
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) //pagrindinio() metodo sukūrimas
{ // ConcurrentHashMap deklaracija
„ConcurrentHashMap“ komanda = naujas ConcurrentHashMap ( ) ;
Komanda. įdėti ( 'Toras' , 2 ) ;
Komanda. įdėti ( 'Keista' , 4 ) ;
Komanda. įdėti ( 'Hawkeye' , 6 ) ;
Sistema . išeiti . println ( „ConcurrentHashMap“: + Komanda ) ;

tarpt vertė = Komanda. pašalinti ( 'Keista' ) ;
Sistema . išeiti . println ( 'Vertė ' + vertė + 'yra pašalintas' ) ;
Sistema . išeiti . println ( „ConcurrentHashMap“: + Komanda ) ;

loginis rezultatas = Komanda. pašalinti ( 'Hawkeye' , 6 ) ;
Sistema . išeiti . println ( „Ar įrašas {Hawkeye = 6} pašalintas? + rezultatas ) ;
Sistema . išeiti . println ( „Atnaujintas „ConcurrentHashMap“: + Komanda ) ;

Komanda. aišku ( ) ;
Sistema . išeiti . println ( „Atnaujintas „ConcurrentHashMap“: + Komanda ) ;

}
}

Aukščiau pateikto kodo bloko aprašymas:





  • Pirma, „ConcurrentHashMap“, pavadintas „ Komanda sukuriamas, tada į jį įterpiami netikri duomenys naudojant „ įdėti “ metodas.
  • Toliau „ pašalinti () naudojamas metodas ir raktas Keista “ yra perduodamas jam. Šis metodas pašalina objektą iš žemėlapio, turintį raktą „Keista“.
  • Be to, parodykite likusius žemėlapio elementus naudodami „ConcurrentHashMap“.
  • Dabar pereikite „ Raktas “ ir atitinkamas „ vertė “ į „ pašalinti () “ metodą, kad pašalintumėte objektą iš „ConcurrentHashMap“, kuris turi konkretų raktą ir reikšmę.
  • Po to parodykite „ConcurrentHashMap“, kad vizualiai pamatytumėte skirtumą.
  • Pabaigoje naudokite „ aišku () “ metodą, norėdami ištrinti visus „ConcurrentHashMap“ esančius elementus. Be to, pabaigoje konsolėje parodykite „ConcurrentHashMap“.

Pasibaigus kompiliavimo etapui:



Momentinėje nuotraukoje rodomi elementai, kurie buvo pašalinti iš ConcurrentHashMap.

Kaip pasiekti „ConcurrentHashMap“ elementus „Java“?

Elementai „ ConcurrentHashMap “ galima pasiekti naudojant kelias metodų grupes. Pirmoji grupė apima ' įrašasSet() “, „ keySet() “ ir „ reikšmės () “ metodai. Jie naudojami norint gauti visus elementus vienu metu. Naudodamas aukščiau nurodytus metodus, programuotojas gali pasirinkti gauti visus raktai “, „ vertybes ' arba abu ' raktas/vertė “ žemėlapio sudarymas.

Norėdami suprasti praktinį aukščiau nurodytų metodų įgyvendinimą, žr. toliau pateiktą kodą:

importuoti java.util.concurrent.ConcurrentHashMap ;

klasė Pagrindinis {
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) //pagrindinio() metodo sukūrimas
{ // ConcurrentHashMap deklaracija
„ConcurrentHashMap“ komanda = naujas ConcurrentHashMap ( ) ;
Komanda. įdėti ( 'Toras' , 2 ) ;
Komanda. įdėti ( 'Keista' , 4 ) ;
Komanda. įdėti ( 'Hawkeye' , 6 ) ;
Komanda. įdėti ( 'Juodoji pantera' , 8 ) ;
Sistema . išeiti . println ( „ConcurrentHashMap“: + Komanda ) ;
Sistema . išeiti . println ( „Gauti raktą ir vertes:“ + Komanda. įrašasSet ( ) ) ;
Sistema . išeiti . println ( 'Retrieve Keys:' + Komanda. KeySet ( ) ) ;
Sistema . išeiti . println ( „Gauti vertes:“ + Komanda. vertybes ( ) ) ;
}
}

Aukščiau pateikto kodo bloko aprašymas:

  • Pirmiausia sukurkite „ConcurrentHashMap“ pavadinimu „ Komanda “ ir įterpkite į jį kelis elementus naudodami „ įdėti () “ metodas.
  • Tada konsolėje parodykite „ConcurrentHashMap“, naudodami „ out.println() “ metodas.
  • Tada naudokite „ įrašasSet() “ metodas, norint gauti visus žemėlapyje esančius duomenis.
  • Po to naudokite „ keySet() “ metodą, norėdami gauti tik raktus iš žemėlapio.
  • Pabaigoje naudokite „ reikšmės () “ metodą, kad gautumėte tik su kiekvienu raktu susijusias reikšmes. Tai grąžina tik reikšmes iš eilės.

Įvykdžius aukščiau pateiktą kodą:

Aukščiau pateiktoje momentinėje nuotraukoje aukščiau naudotų metodų išvestis rodoma konsolėje. Skirtingų spalvų ribos naudojamos siekiant sukurti vizualų kiekvieno metodo išvesties atskyrimą.

Dabar antroji grupė apima ' gauti () “ ir „ getOrDefault() “ metodai. Šie metodai naudojami norint gauti „ raktai ' nuo ' ConcurrentHashMap “. Pavyzdžiui, apsilankykite toliau pateiktame kodo bloke:

importuoti java.util.concurrent.ConcurrentHashMap ;
klasė Pagrindinis {
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) //pagrindinio() metodo sukūrimas
{ // ConcurrentHashMap deklaracija
„ConcurrentHashMap“ komanda = naujas ConcurrentHashMap ( ) ;
Komanda. įdėti ( 'Toras' , 2 ) ;
Komanda. įdėti ( 'Keista' , 4 ) ;
Komanda. įdėti ( 'Hawkeye' , 6 ) ;
Komanda. įdėti ( 'Juodoji pantera' , 8 ) ;
Sistema . išeiti . println ( 'Naudojant getOrDefault():' + vertė2 ) ;

tarpt vertė1 = Komanda. gauti ( 'Hawkeye' ) ;
Sistema . išeiti . println ( Nuskaitytas nurodytos reikšmės raktas yra: + vertė1 ) ;
tarpt vertė2 = Komanda. getOrDefault ( 'Romanoffas' , 10 ) ;
Sistema . išeiti . println ( „ConcurrentHashMap“: + Komanda ) ;
}
}

Aukščiau pateikto kodo paaiškinimas:

  • Naudokite tą patį ' ConcurrentHashMap “, kuris sukurtas aukščiau esančiame kodo bloke.
  • Be to, taikykite „ gauti () “ metodą ir skliausteliuose pateikite reikšmę, kurios raktas bus nuskaitytas.
  • Be to, naudojant „ getOrDefault() “ metodas, kuris paima du parametrus / reikšmes, reikšmę ir numatytąjį raktą. Jei nurodytas objektas randamas žemėlapyje, atitinkamas raktas gaunamas. Ir jei nurodyta reikšmė nerandama, naudojamas numatytasis raktas.
  • Po to abiejų metodų rezultatus išsaugokite kintamuosiuose ir vizualizavimo tikslais parodykite juos konsolėje.

Atlikus aukščiau pateiktą kodo bloką:

Aukščiau pateiktame momentiniame vaizde rodomi raktai, susiję su konsolėje gautomis ir išspausdintomis reikšmėmis.

Išvada

Norėdami pašalinti / ištrinti konkrečius elementus iš „ ConcurrentHashMap “, “ pašalinti () “ metodas gali būti naudojamas. Naudodamas jį programuotojas gali ištrinti elementą, turintį tam tikrą ' Raktas “ arba atitinkamas “ vertė “. Naudojant „ aišku () “ metodu, visi žemėlapyje esantys elementai ištrinami iš karto. Norėdami pasiekti, „ įrašasSet() “, „ keySet() “ ir „ reikšmės () “ naudojami metodai. Jie gali atkurti visus ' raktai/vertės “, „ raktai “ ir „ vertybes ' nuo ' ConcurrentHashMap ' iškart. Norėdami gauti tik konkrečius raktus, „ gauti “ ir „ getOrDefault “ naudojami metodai.