Java ConcurrentMap-gränssnitt

I den här handledningen lär vi oss om Java ConcurrentMap-gränssnittet och dess metoder.

Det ConcurrentMapgränssnitt samlingar ramen för Java ger en trådsäker kartan. Det vill säga att flera trådar kan komma åt kartan samtidigt utan att det påverkar konsistensen för poster i en karta.

ConcurrentMap är känd som en synkroniserad karta.

Det utökar kartgränssnittet.

Klass som implementerar ConcurrentMap

Eftersom det ConcurrentMapär ett gränssnitt kan vi inte skapa objekt från det.

För att kunna använda funktionerna i ConcurrentMapgränssnittet måste vi använda klassen ConcurrentHashMapsom implementerar det.

Hur använder jag ConcurrentMap?

För att kunna använda ConcurrentMapmåste vi först importera java.util.concurrent.ConcurrentMappaketet. När vi väl har importerat paketet, så här kan vi skapa en samtidig karta.

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

I koden ovan har vi skapat en samtidig karta med namnen.

Här,

  • Nyckel - en unik identifierare som används för att associera varje element (värde) på en karta
  • Värde - element som är associerade med nycklar på en karta

Metoder för ConcurrentMap

I ConcurrentMapgränssnitt innefattar alla metoder i Mapgränssnittet. Det beror Mappå att gränssnittets ConcurrentMapsupergränssnitt är.

Förutom alla dessa metoder, här är de metoder som är specifika för ConcurrentMapgränssnittet.

  • putIfAbsent () - Infogar den angivna nyckeln / värdet på kartan om den angivna nyckeln inte redan är associerad med något värde.
  • beräkna () - Beräknar en post (nyckel / värdemappning) för den angivna nyckeln och dess tidigare mappade värde.
  • computeIfAbsent () - Beräknar ett värde med den angivna funktionen för den angivna nyckeln om nyckeln inte redan är mappad med något värde.
  • computeIfPresent () - Beräknar en ny post (nyckel / värdemappning) för den angivna nyckeln om nyckeln redan är mappad med det angivna värdet.
  • forEach () - Få åtkomst till alla poster på en karta och utför de angivna åtgärderna.
  • merge () - Slår samman det nya angivna värdet med det gamla värdet för den angivna nyckeln om nyckeln redan är mappad till ett visst värde. Om nyckeln inte redan är mappad kopplar metoden helt enkelt det angivna värdet till vår nyckel.

För att lära dig mer, besök Java ConcurrentMap (officiell Java-dokumentation).

Implementering av ConcurrentMap i 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); ) ) 

Produktion

 ConcurrentMap: (One = 1, Two = 2, Three = 3) Åtkomstvärde: 1 borttaget värde: 2 

För att lära dig mer om ConcurrentHashMap, besök Java ConcurrentHashMap.

Intressanta artiklar...