„Java ConcurrentMap“ sąsaja

Šioje pamokoje sužinosime apie „Java ConcurrentMap“ sąsają ir jos metodus.

ConcurrentMapJava“ kolekcijų sąsajoje pateikiamas saugus žemėlapis. Tai reiškia, kad kelios gijos vienu metu gali pasiekti žemėlapį, nepaveikdamos žemėlapio įrašų nuoseklumo.

ConcurrentMap yra žinomas kaip sinchronizuotas žemėlapis.

Tai išplečia žemėlapio sąsają.

Klasė, įgyvendinanti „ConcurrentMap“

Kadangi ConcurrentMaptai yra sąsaja, negalime iš jos kurti objektų.

Norėdami naudoti ConcurrentMapsąsajos funkcionalumą , turime naudoti ją įgyvendinančią klasę ConcurrentHashMap.

Kaip naudoti „ConcurrentMap“?

Norėdami naudoti ConcurrentMap, pirmiausia turime importuoti java.util.concurrent.ConcurrentMappaketą. Kai importuosime paketą, štai kaip galime sukurti lygiagretų žemėlapį.

 // ConcurrentMap implementation by ConcurrentHashMap CocurrentMap numbers = new ConcurrentHashMap(); 

Pirmiau pateiktame kode sukūrėme lygiagretų žemėlapį, pavadintą skaičiais.

Čia

  • Raktas - unikalus identifikatorius, naudojamas susieti kiekvieną žemėlapio elementą (vertę)
  • Vertė - elementai, susieti su klavišais žemėlapyje

„ConcurrentMap“ metodai

ConcurrentMapSąsaja apima visus metodus Mapsąsaja. Taip yra todėl, kad Mapyra super sąsajos ConcurrentMapsąsaja.

Be visų šių metodų, čia yra būdai, būdingi ConcurrentMapsąsajai.

  • putIfAbsent () - įterpia nurodytą raktą / vertę į žemėlapį, jei nurodytas raktas dar nėra susietas su jokia verte.
  • compute () - apskaičiuoja nurodyto rakto įrašą (rakto / vertės susiejimą) ir jo anksčiau susietą vertę.
  • computeIfAbsent () - apskaičiuoja reikšmę naudodama nurodyto rakto funkciją, jei raktas dar nėra susietas su jokia verte.
  • computeIfPresent () - apskaičiuoja naują nurodyto rakto įrašą (rakto / vertės susiejimą), jei raktas jau susietas su nurodyta verte.
  • forEach () - pasiekite visus žemėlapio įrašus ir atlikite nurodytus veiksmus.
  • sulieti () - sujungia naują nurodytą reikšmę su senąja nurodyto rakto verte, jei raktas jau susietas su tam tikra verte. Jei raktas dar nėra susietas, metodas tiesiog susieja nurodytą vertę su mūsų raktu.

Norėdami sužinoti daugiau, apsilankykite „Java ConcurrentMap“ (oficiali „Java“ dokumentacija).

„ConcurrentMap“ diegimas „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); ) ) 

Rezultatas

 „ConcurrentMap“: (Vienas = 1, Du = 2, Trys = 3) Prieiga prie vertės: 1 Pašalinta vertė: 2 

Norėdami sužinoti daugiau apie tai ConcurrentHashMap, apsilankykite „Java ConcurrentHashMap“.

Įdomios straipsniai...