Passer au contenu principal
eLearner.app
Module 6 · Leçon 1 sur 211/14 dans le cours~15 min
Leçons du module (1/2)

Set et Map

En plus de la classe ArrayList (qui représente une liste ordonnée d'éléments), le Java Collections Framework propose deux autres interfaces fondamentales : Set (pour les ensembles d'éléments uniques) et Map (pour les associations clé-valeur).

Set : Ensembles d'Éléments Uniques

Un Set est une collection qui ne peut pas contenir d'éléments doublons. Son implémentation la plus courante est HashSet, basée en interne sur une table de hachage, qui garantit d'excellentes performances pour les opérations d'insertion, de suppression et de vérification de présence.

Code
import java.util.HashSet;
import java.util.Set;

Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // Questo inserimento verrà ignorato poiché "Alice" è già presente

System.out.println(uniqueNames.size()); // Stampa 2

Map : Associations Clé-Valeur

Une Map associe des clés uniques à des valeurs. Elle ne peut pas contenir de clés en double : chaque clé est associée au maximum à une valeur. Son implémentation standard est HashMap.

Code
import java.util.HashMap;
import java.util.Map;

Map<String, Integer> ageMap = new HashMap<>();
// Inserimento o aggiornamento di coppie
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);

// Recupero del valore tramite la chiave
int aliceAge = ageMap.get("Alice"); // Ritorna 25

// Verifica della presenza di una chiave o valore
boolean hasBob = ageMap.containsKey("Bob"); // Ritorna true

Parcourir une Map

Pour parcourir les paires clé-valeur, nous pouvons utiliser la boucle for-each sur l'ensemble des entrées (entrySet()) fourni par la map.

Code
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
    System.out.println(entry.getKey() + " ha " + entry.getValue() + " anni.");
}

À toi de jouer

Exercice#java.m6.l1.e1
Tentatives : 0Chargement…

Complétez le code en déclarant un HashSet de chaînes de caractères nommé items. Ajoutez les éléments 'apple', 'banana' puis à nouveau 'apple', puis affichez la taille de l'ensemble à l'aide de System.out.println.

Chargement de l'éditeur…
Afficher l'indice

Rappelez-vous que les doublons ne sont pas autorisés dans un `Set` et qu' `items.size()` renverra le nombre réel d'éléments uniques insérés.

Solution disponible après 3 tentatives

Exercice#java.m6.l1.e2
Tentatives : 0Chargement…

Complétez le code en déclarant une HashMap nommée ages avec une clé String et une valeur Integer. Associez la clé 'Alice' à 25 et la clé 'Bob' à 30, puis récupérez et affichez l'âge de 'Bob'.

Chargement de l'éditeur…
Afficher l'indice

Utilisez la méthode `put` pour insérer des paires et la méthode `get` pour extraire des valeurs en fonction des clés.

Solution disponible après 3 tentatives

Exercice#java.m6.l1.e3
Tentatives : 0Chargement…

Complétez le code en vérifiant si la map countries contient la clé 'FR' et affichez le résultat booléen à l'écran.

Chargement de l'éditeur…
Afficher l'indice

Utilisez la méthode `containsKey` sur l'objet `countries` pour vérifier la présence de la clé demandée.

Solution disponible après 3 tentatives