Selles õpetuses õpime Java ConcurrentMapi liidest ja selle meetodeid.
ConcurrentMap
Liides Java kogud raames annab niidi ohutu kaardil. See tähendab, et mitu lõime saavad korraga kaardile juurde pääseda, ilma et see mõjutaks kaardi kirjete järjepidevust.
ConcurrentMap
on tuntud sünkroniseeritud kaardina.
See laiendab Mapi liidest.
Klass, mis rakendab rakendust ConcurrentMap
Kuna ConcurrentMap
see on liides, ei saa me sellest objekte luua.
ConcurrentMap
Liidese funktsionaalsuste kasutamiseks peame kasutama ConcurrentHashMap
seda rakendavat klassi .
Kuidas kasutada ConcurrentMapi?
Selle kasutamiseks ConcurrentMap
peame java.util.concurrent.ConcurrentMap
pakendi kõigepealt importima . Kui pakett on imporditud, saate samaaegse kaardi luua järgmiselt.
// ConcurrentMap implementation by ConcurrentHashMap CocurrentMap numbers = new ConcurrentHashMap();
Ülaltoodud koodis oleme loonud samaaegse kaardi nimega numbrid.
Siin,
- Võti - kordumatu identifikaator, mida kasutatakse iga elemendi (väärtuse) seostamiseks kaardil
- Väärtus - kaardil klahvidega seotud elemendid
ConcurrentMap meetodid
ConcurrentMap
Liides sisaldab kõiki meetodeid Map
liides. Sellepärast, et see Map
on liidese superliides ConcurrentMap
.
Kõigi nende meetodite kõrval on siin ConcurrentMap
liidesele omased meetodid .
- putIfAbsent () - sisestab määratud võtme / väärtuse kaardile, kui määratud võti pole veel ühegi väärtusega seotud.
- arvuta () - arvutab sisestuse (võtme / väärtuse kaardistamine) määratud võtmele ja selle varem vastendatud väärtusele.
- computeIfAbsent () - arvutab määratud võtme jaoks määratud funktsiooni kasutades väärtuse, kui võti pole veel ühegi väärtusega kaardistatud.
- computeIfPresent () - arvutab uue võtme (võtme / väärtuse kaardistamine) määratud võtmele, kui võti on juba määratud väärtusega kaardistatud.
- forEach () - pääsete juurde kõigile kaardi sisestustele ja tehke määratud toimingud.
- ühenda () - ühendab uue määratud väärtuse määratud võtme vana väärtusega, kui võti on juba teatud väärtusega vastendatud. Kui võti pole juba kaardistatud, seostab meetod määratud väärtuse lihtsalt meie võtmega.
Lisateabe saamiseks külastage Java ConcurrentMap (ametlik Java dokumentatsioon).
ConcurrentMapi juurutamine rakenduses ConcurrentHashMap
import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentHashMap; class Main ( public static void main(String() args) ( // Creating ConcurrentMap using ConcurrentHashMap ConcurrentMap numbers = new ConcurrentHashMap(); // Insert elements to map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("ConcurrentMap: " + numbers); // Access the value of specified key int value = numbers.get("One"); System.out.println("Accessed Value: " + value); // Remove the value of specified key int removedValue = numbers.remove("Two"); System.out.println("Removed Value: " + removedValue); ) )
Väljund
ConcurrentMap: (Üks = 1, Kaks = 2, Kolm = 3) Juurdepääsuväärtus: 1 Eemaldatud väärtus: 2
Lisateabe saamiseks ConcurrentHashMap
külastage Java ConcurrentHashMap.