Tableau associatif en Java

Mohammad Irfan 12 octobre 2023
  1. Utiliser le tableau associatif en Java
  2. Résumé du tableau associatif en Java
  3. Implémenter un tableau associatif en Java
  4. Créer un tableau associatif en Java
  5. Ajouter des éléments au tableau associatif en Java
  6. Traverser les éléments du tableau associatif en Java
  7. Traverser les éléments du tableau associatif à l’aide de la méthode forEach() en Java 8
Tableau associatif en Java

Un tableau associatif est un type de tableau qui stocke l’ensemble des éléments dans des paires clé et valeur. C’est une collection de clés et de valeurs où la clé est unique et est associée à une valeur.

Si on doit accéder à l’élément depuis le tableau associatif, il faut appeler le nom du tableau et passer la clé dont on veut accéder à la valeur.

Utiliser le tableau associatif en Java

Par exemple, nous avons un tableau nommé marques qui stocke le numéro de matricule et les notes des élèves.

Donc, si nous devons accéder à la note d’un étudiant en particulier, nous pouvons appeler ainsi les marques 105, où les notes sont le nom d’un tableau et 105 est le numéro de rôle de l’étudiant, pas un numéro d’index qui est pas possible dans un tableau si nous utilisons le langage Java.

Par conséquent, le tableau associatif ne prend pas en charge Java, mais nous pouvons facilement le réaliser en utilisant HashMap. Java ne prend pas en charge les tableaux associatifs mais peut être implémenté à l’aide de Map.

Résumé du tableau associatif en Java

HashMap<String, String> hashmap = new HashMap<>();
// method to add the key,value pair in hashmap
hashmap.put("Key1", "Value1");
hashmap.put("Key2", "Value2");
hashmap.put("Key3", "Value3");
// and many more...
// get the value 1 and 2
System.out.println(hashmap.get("Key1"));
System.out.println(hashmap.get("Key2"));
// and many more...

Implémenter un tableau associatif en Java

Pour implémenter un tableau associatif en Java, nous avons utilisé HashMap, une classe d’implémentation de l’interface Map. Comprenons étape par étape.

Tout d’abord, importez et initialisez le HashMap, c’est-à-dire créez une instance de HashMap en utilisant les instructions suivantes.

import java.util.HashMap;
HashMap<String, String> hashmap = new HashMap<>();

Ensuite, en utilisant la méthode put(), ajoutez la valeur de la clé au HashMap.

hashmap.put("Key1", "Value1");

Convertissez le HashMap en Set en utilisant la méthode entrySet() pour supprimer les clés en double.

Set<Map.Entry<String, String> > set = map.entrySet();

Convertissez le Set en un ArrayList qui est un tableau que nous voulons.

List<Map.Entry<String, String>> list = new ArrayList<>(set);

Créer un tableau associatif en Java

Dans cet exemple, nous avons utilisé la classe HashMap pour implémenter le tableau associatif en Java.

Vous voyez, il contient des données au format paire clé-valeur, et nous avons utilisé la méthode getKey() pour accéder à la clé et la méthode getValue() pour accéder aux valeurs.

import java.io.*;
import java.util.*;
public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<String, String> hashmap = new HashMap<>();
    hashmap.put("Virat", "Batsman");
    hashmap.put("Bumrah", "Bowler");
    hashmap.put("Jadeja", "All-rounder");
    hashmap.put("Pant", "Wicket-Keeper");

    Set<Map.Entry<String, String>> s = hashmap.entrySet();
    List<Map.Entry<String, String>> array = new ArrayList<>(s);
    for (int i = 0; i < array.size(); i++) {
      System.out.println(array.get(i).getKey() + " is " + array.get(i).getValue());
    }
  }
}

Production:

Pant is Wicket-Keeper
Jadeja is All-rounder
Bumrah is Bowler
Virat is Batsman

Comme nous en avons déjà discuté, cette clé doit être unique. Si nous insérons les mêmes clés dans le tableau associatif, il supprimera l’une des paires clé-valeur.

Nous avons inséré deux mêmes clés, Virat, dans le code suivant. Voir l’exemple ci-dessous.

import java.io.*;
import java.util.*;
public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<String, String> hashmap = new HashMap<>();
    hashmap.put("Virat", "Batsman");
    hashmap.put("Bumrah", "Bowler");
    hashmap.put("Jadeja", "All-rounder");
    hashmap.put("Pant", "Wicket-Keeper");
    hashmap.put("Virat", "Captain");

    Set<Map.Entry<String, String>> s = hashmap.entrySet();
    List<Map.Entry<String, String>> array = new ArrayList<>(s);
    for (int i = 0; i < array.size(); i++) {
      System.out.println(array.get(i).getKey() + " is " + array.get(i).getValue());
    }
  }
}

Production:

Pant is Wicket-Keeper
Jadeja is All-rounder
Bumrah is Bowler
Virat is Captain

Ajouter des éléments au tableau associatif en Java

Nous pouvons ajouter un élément à un tableau dans la carte en utilisant la méthode put(). De même, nous pouvons supprimer un élément d’un tableau en utilisant la méthode remove().

Nous pouvons connaître la taille du tableau en utilisant la méthode size().

import java.util.HashMap;
public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<String, String> fruits = new HashMap<String, String>();
    fruits.put("Apple", "Red");
    fruits.put("Banana", "Yellow");
    fruits.put("Guava", "Green");
    fruits.put("Blackberries", "Purple");

    System.out.println("The Size of fruits Map is : " + fruits.size());
    // Remove Banana from the HashMap
    fruits.remove("Banana");
    // To find out the size of the Hashmap
    System.out.println("The Size of fruits Map is : " + fruits.size());
    // Check whether the key is present in the Hashmap or not
    String fruit_key = "Apple";
    if (fruits.containsKey(fruit_key)) {
      System.out.println("The colour of " + fruit_key + " is: " + fruits.get(fruit_key));
    } else {
      System.out.println("There is no entry for the fruit of " + fruit_key);
    }
  }
}

Production:

The Size of fruits Map is : 4
The Size of fruits Map is : 3
The colour of Apple is: Red

Traverser les éléments du tableau associatif en Java

On peut utiliser la boucle for-each pour parcourir le tableau associatif. Puisque HashMap appartient au package java.util, nous pouvons utiliser la boucle for-each pour itérer ses éléments.

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<String, String> fruits = new HashMap<String, String>();
    fruits.put("Apple", "Red");
    fruits.put("Banana", "Yellow");
    fruits.put("Guava", "Green");
    fruits.put("Blackberries", "Purple");
    System.out.println("The Size of fruits Map is : " + fruits.size());
    for (Map.Entry element : fruits.entrySet()) {
      String key = (String) element.getKey();
      System.out.println(key + " : " + element.getValue());
    }
  }
}

Production:

The Size of fruits Map is : 4
Guava : Green
Apple : Red
Blackberries : Purple
Banana : Yellow

Traverser les éléments du tableau associatif à l’aide de la méthode forEach() en Java 8

Si vous travaillez avec Java 8 ou une version supérieure, vous pouvez utiliser la méthode forEach() pour parcourir les éléments du tableau. La méthode forEach() nécessite une expression lambda comme argument.

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<String, String> fruits = new HashMap<String, String>();
    fruits.put("Apple", "Red");
    fruits.put("Banana", "Yellow");
    fruits.put("Guava", "Green");
    fruits.put("Blackberries", "Purple");

    System.out.println("The Size of fruits Map is : " + fruits.size());
    fruits.forEach((k, v) -> System.out.println(k + " : " + v));
  }
}

Production:

The Size of fruits Map is : 4
Guava : Green
Apple : Red
Blackberries : Purple
Banana : Yellow

Ce tutoriel a étudié que Java ne supporte techniquement pas le tableau associatif, mais nous pouvons facilement y parvenir en utilisant HashMap.

Article connexe - Java Array