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.
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.
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.
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
System.out.println(entry.getKey() + " ha " + entry.getValue() + " anni.");
}
À toi de jouer
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.
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
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'.
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
Complétez le code en vérifiant si la map countries contient la clé 'FR' et affichez le résultat booléen à l'écran.
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