Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Interface Java ConcurrentMap

Interface Java ConcurrentMap

Dans ce didacticiel, nous découvrirons l'interface Java ConcurrentMap et ses méthodes.

Le ConcurrentMap L'interface du framework de collections Java fournit une carte thread-safe. Autrement dit, plusieurs threads peuvent accéder à la carte à la fois sans affecter la cohérence des entrées dans une carte.

ConcurrentMap est connue sous le nom de carte synchronisée.

Il étend l'interface de la carte.

Classe qui implémente ConcurrentMap

Depuis le ConcurrentMap est une interface, nous ne pouvons pas créer d'objets à partir de celle-ci.

Afin d'utiliser les fonctionnalités du ConcurrentMap interface, nous devons utiliser la classe ConcurrentHashMap qui l'implémente.

Comment utiliser ConcurrentMap ?

Pour utiliser le ConcurrentMap , il faut importer le java.util.concurrent.ConcurrentMap paquet d'abord. Une fois le package importé, voici comment créer une carte simultanée.

// ConcurrentMap implementation by ConcurrentHashMap
CocurrentMap<Key, Value> numbers = new ConcurrentHashMap<>();

Dans le code ci-dessus, nous avons créé une carte simultanée nommée numbers .

Ici,

  • Clé - un identifiant unique utilisé pour associer chaque élément (valeur) dans une carte
  • Valeur - éléments associés par clés dans une carte

Méthodes de ConcurrentMap

Le ConcurrentMap l'interface inclut toutes les méthodes du Map interface. C'est parce que Map est la super interface du ConcurrentMap interface.

En plus de toutes ces méthodes, voici les méthodes spécifiques au ConcurrentMap interface.

  • putIfAbsent() - Insère la clé/valeur spécifiée dans la carte si la clé spécifiée n'est pas déjà associée à une valeur.
  • calculer() - Calcule une entrée (mappage clé/valeur) pour la clé spécifiée et sa valeur précédemment mappée.
  • computeIfAbsent() - Calcule une valeur à l'aide de la fonction spécifiée pour la clé spécifiée si la clé n'est pas déjà mappée avec une valeur.
  • computeIfPresent() - Calcule une nouvelle entrée (mappage clé/valeur) pour la clé spécifiée si la clé est déjà mappée avec la valeur spécifiée.
  • forEach() - Accéder à toutes les entrées d'une carte et effectuer les actions spécifiées.
  • fusionner() - Fusionne la nouvelle valeur spécifiée avec l'ancienne valeur de la clé spécifiée si la clé est déjà mappée à une certaine valeur. Si la clé n'est pas déjà mappée, la méthode associe simplement la valeur spécifiée à notre clé.

Pour en savoir plus, visitez Java ConcurrentMap (documentation officielle de Java).

Implémentation de ConcurrentMap dans ConcurrentHashMap

import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ConcurrentHashMap;

class Main {

    public static void main(String[] args) {
        // Creating ConcurrentMap using ConcurrentHashMap
        ConcurrentMap<String, Integer> 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);
    }
}

Sortie

ConcurrentMap: {One=1, Two=2, Three=3}
Accessed Value: 1
Removed Value: 2

Pour en savoir plus sur ConcurrentHashMap , visitez Java ConcurrentHashMap.


Java

  1. Interface C#
  2. Opérateurs Java
  3. InterfaceJava
  4. Java essayer avec des ressources
  5. Interface Java NavigableSet
  6. Expressions Java Lambda
  7. Interface vs classe abstraite en Java :quelle est la différence ?
  8. Java-Interfaces
  9. Java 9 - Méthodes d'interface privée