Java ConcurrentMap -rajapinta

Tässä opetusohjelmassa opitaan Java ConcurrentMap -käyttöliittymästä ja sen menetelmistä.

ConcurrentMapRajapinta 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 ConcurrentMapse on käyttöliittymä, emme voi luoda siitä esineitä.

ConcurrentMapKäyttöliittymän toimintojen käyttämiseksi meidän on käytettävä sitä ConcurrentHashMaptoteuttavaa luokkaa .

Kuinka käyttää ConcurrentMapia?

Käyttää ConcurrentMap, meidän täytyy tuoda java.util.concurrent.ConcurrentMappaketin 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

ConcurrentMapKäyttöliittymä sisältää kaikki menetelmiä Mapliitäntä. Se johtuu siitä, että se Mapon käyttöliittymän superliitäntä ConcurrentMap.

Kaikkien näiden menetelmien lisäksi tässä ovat ConcurrentMapkä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 ConcurrentHashMaposoitteessa Java ConcurrentHashMap.

Mielenkiintoisia artikkeleita...