Tässä opetusohjelmassa opitaan Java ConcurrentMap -käyttöliittymästä ja sen menetelmistä.
ConcurrentMap
Rajapinta Java kokoelmien kehys tarjoaa säieturvallinen kartalla. Toisin sanoen useat ketjut voivat käyttää karttaa kerralla vaikuttamatta kartalla olevien merkintöjen yhdenmukaisuuteen.
ConcurrentMap
tunnetaan synkronoituna karttana.
Se laajentaa Map-käyttöliittymää.
Luokka, joka toteuttaa ConcurrentMap-sovelluksen
Koska ConcurrentMap
se on käyttöliittymä, emme voi luoda siitä esineitä.
ConcurrentMap
Käyttöliittymän toimintojen käyttämiseksi meidän on käytettävä sitä ConcurrentHashMap
toteuttavaa luokkaa .
Kuinka käyttää ConcurrentMapia?
Käyttää ConcurrentMap
, meidän täytyy tuoda java.util.concurrent.ConcurrentMap
paketin ensimmäinen. Kun tuot paketin, voimme luoda samanaikaisen kartan seuraavasti.
// ConcurrentMap implementation by ConcurrentHashMap CocurrentMap numbers = new ConcurrentHashMap();
Edellä olevassa koodissa olemme luoneet samanaikaisen kartan, jonka nimet ovat numeroita.
Tässä,
- Avain - yksilöllinen tunniste, jota käytetään kunkin elementin (arvon) liittämiseen karttaan
- Arvo - elementit, jotka on liitetty avaimiin kartalla
ConcurrentMap-menetelmät
ConcurrentMap
Käyttöliittymä sisältää kaikki menetelmiä Map
liitäntä. Se johtuu siitä, että se Map
on käyttöliittymän superliitäntä ConcurrentMap
.
Kaikkien näiden menetelmien lisäksi tässä ovat ConcurrentMap
käyttöliittymälle ominaiset menetelmät .
- putIfAbsent () - Lisää määritetyn avaimen / arvon karttaan, jos määritettyä avainta ei vielä ole liitetty mihinkään arvoon.
- compute () - laskee merkinnän (avaimen / arvon kartoitus) määritetylle avaimelle ja sen aiemmin yhdistetylle arvolle.
- computeIfAbsent () - Laskee arvon määritetylle avaimelle määritetyn toiminnon avulla, jos avainta ei ole vielä yhdistetty mihinkään arvoon.
- computeIfPresent () - laskee uuden merkinnän (avaimen / arvon yhdistäminen) määritetylle avaimelle, jos avain on jo määritetty määritetyllä arvolla.
- forEach () - Voit käyttää kaikkia kartan merkintöjä ja suorittaa määritetyt toiminnot.
- yhdistää () - Yhdistää uuden määritetyn arvon määritetyn avaimen vanhaan arvoon, jos avain on jo yhdistetty tiettyyn arvoon. Jos avainta ei ole vielä yhdistetty, menetelmä vain yhdistää määritetyn arvon avaimeemme.
Lisätietoja on Java ConcurrentMap -sivustossa (virallinen Java-dokumentaatio).
ConcurrentMap-sovelluksen toteutus ConcurrentHashMap-sovelluksessa
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); ) )
Tuotos
ConcurrentMap: (Yksi = 1, Kaksi = 2, Kolme = 3) Käytetty arvo: 1 Poistettu arvo: 2
Lisätietoja on ConcurrentHashMap
osoitteessa Java ConcurrentHashMap.