Dictionnaire Java
En langage Java, le Dictionnaire est représenté à l’aide d’une structure de données appelée l’interface Map
. La structure de données Map
s’habitue à présenter les données dans des paires clé-valeur. La Map
est une interface qui garde une trace de toutes les clés et des valeurs correspondantes. Un utilisateur peut récupérer la valeur en fonction d’une clé unique. L’interface Map
possède les propriétés suivantes :
- Toutes les clés présentes dans la
Map
sont uniques. - Il peut y avoir une clé unique correspondant à une ou plusieurs valeurs.
- Les clés sont les entités qui ne sont pas NULL.
Ci-dessous se trouve le bloc de code démontrant l’utilisation d’un dictionnaire ou Map
en langage Java.
import java.util.HashMap;
import java.util.Map;
public class Dictionary {
public static void main(String[] args) {
System.out.println("Dictionary in Java");
System.out.println("Using HashMap ");
Map<String, String> map = new HashMap<>();
map.put("1", "Letters with alphabetical Order with key A");
map.put("2", "Letters with alphabetical Order with key B");
System.out.println(map.get("2"));
}
}
Le Map
est une interface présente séparément, en dehors de la hiérarchie du framework Collection
.
Le Map
est présente dans le package java.util
et montre comment une clé est mappée sur les valeurs. Il peut y avoir plusieurs implémentations sur une carte, à savoir :
HashMap
LinkedHashMap
Hashtable
L’utilisation de chacun peut varier en fonction des besoins des utilisateurs pour la mise en œuvre.
Dans l’extrait de code ci-dessus, l’implémentation HashMap
est utilisée. C’est la classe par défaut et largement utilisée dans le langage Java. La différence entre les trois types est définie ci-dessous.
HashMap
est introduit dans la version Java 1.2, alors que Hashtable
est une classe héritée. Il est thread-safe et, par conséquent, les opérations simultanées sont autorisées entre plusieurs threads, maintenant la cohérence du code. Mais le HashMap
n’est pas thread-safe et n’autorise aucune concurrence.
En raison de la nature thread-safe de HashMap
, ses performances sont plus rapides que celles de Hashtable
. De plus, HashMap
est infaillible et lève ConcurrencyException
lorsque son instance est manipulée par plusieurs threads à la fois. En revanche, Hashtable
semble infaillible. Le cas d’utilisation de LinkedHashMap
réside lorsqu’un utilisateur souhaite enregistrer l’ordre d’insertion.
L’instance Map
est créée à l’aide de la classe HashMap
dans le bloc de code ci-dessus. Les opérations telles que get
et put
sont utilisées pour stocker et récupérer les valeurs spécifiques de l’instance. La méthode put
prend deux paramètres qui sont la clé et sa valeur.
En interne, la clé est d’abord évaluée si elle est présente dans l’objet cartographique à l’aide de la fonction containsKey()
. S’il est évalué à vrai, la valeur actuelle de la clé est remplacée par la nouvelle valeur. La méthode lève UnsupportedOperationException
si l’opération définie n’est pas prise en charge par la Map
avec la clé donnée.
La ClassCastException
si la clé ou la valeur empêche le stockage de la clé, NullPointerException
si la clé ou la valeur spécifiée est null
et la Map
n’autorise pas les clés ou les valeurs null
. IllegalArgumentException
si une propriété de la clé ou de la valeur empêche son stockage dans la Map
.
Une fois la clé insérée dans la Map
, elle est récupérée à l’aide de la fonction get
. La fonction get
prend un seul paramètre qui est la clé unique. Il lève ClassCastException
et NullPointerException
lorsque la clé est inappropriée ou si la clé spécifiée est null
.
Ci-dessous se trouve la sortie de l’interface de la carte utilisant la classe HashMap
.
Dictionary in Java Using HashMap Letters with alphabetical Order with key B
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn