0% ont trouvé ce document utile (0 vote)
7 vues2 pages

Chap9 - Java - Exo

Le chapitre 9 traite des collections en Java, notamment des List, Set et Map, avec un quiz pour tester les connaissances sur leurs différences et leur utilisation. Il propose également des exercices pratiques sur la manipulation des listes et des dictionnaires. Enfin, il aborde des pièges courants liés à la suppression d'éléments dans une boucle et à la gestion des doublons dans un Set.

Transféré par

karel Towanou
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues2 pages

Chap9 - Java - Exo

Le chapitre 9 traite des collections en Java, notamment des List, Set et Map, avec un quiz pour tester les connaissances sur leurs différences et leur utilisation. Il propose également des exercices pratiques sur la manipulation des listes et des dictionnaires. Enfin, il aborde des pièges courants liés à la suppression d'éléments dans une boucle et à la gestion des doublons dans un Set.

Transféré par

karel Towanou
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

DR ZOTCHI GIOVANI – CHAP 9 JAVA EXO

Chapitre 9 : Les Collections (List, Set, Map), toujours au format statique pour faciliter votre
lecture.

I. Quiz (QCM) - Test de connaissances


1. Quelle est la principale différence entre une List et un Set ?

 A) Une List n'accepte que des nombres, un Set n'accepte que des chaînes de
caractères.
 B) Une List conserve l'ordre d'insertion et accepte les doublons, un Set refuse
strictement les doublons.
 C) Un Set a une taille dynamique, une List a une taille fixe.
 D) Il n'y a aucune différence, ce sont deux noms pour la même chose.

2. Le code List<int> nombres = new ArrayList<>(); est-il valide en Java ?

 A) Oui, c'est la syntaxe standard.


 B) Non, car ArrayList ne prend pas de chevrons < >.
 C) Non, car les collections ne peuvent pas stocker de types primitifs (int). Il faut
utiliser la classe enveloppe Integer.
 D) Oui, mais seulement depuis Java 8.

3. Dans une Map<String, Double>, que se passe-t-il si vous utilisez put("Alice", 15.0)
puis put("Alice", 18.0) ?

 A) La Map contient deux entrées pour "Alice".


 B) Le programme plante (Exception) car la clé "Alice" existe déjà.
 C) L'ancienne valeur (15.0) est écrasée par la nouvelle (18.0) pour la clé "Alice".
 D) La nouvelle valeur est ignorée, "Alice" garde 15.0.

4. Quelle méthode est utilisée pour connaître le nombre d'éléments présents dans une
ArrayList ?

 A) .length
 B) .length()
 C) .size()
 D) .count()

II. Exercices d'application


Exercice 1 : Manipulation d'une Liste

1. Créez une ArrayList de chaînes de caractères (String) nommée couleurs.


2. Ajoutez-y "Rouge", "Vert", "Bleu" et "Jaune".
3. Supprimez "Vert" de la liste.
4. Utilisez une boucle for-each pour afficher toutes les couleurs restantes.

1
DR ZOTCHI GIOVANI – CHAP 9 JAVA EXO

Exercice 2 : Utilisation d'un Dictionnaire (Map)

1. Créez une HashMap nommée annuaire où les clés sont des noms (String) et les
valeurs sont des numéros de téléphone (Integer ou String).
2. Ajoutez 3 personnes à votre annuaire.
3. Affichez le numéro d'une personne spécifique en utilisant sa clé.

III. Les Exercices


Piège n°1 : La suppression en pleine boucle Que va-t-il se passer si on exécute ce code ?

Java
List<String> mots = new ArrayList<>();
[Link]("A"); [Link]("B"); [Link]("C");

for (String mot : mots) {


if ([Link]("B")) {
[Link](mot); // Suppression pendant le parcours
}
}

Piège n°2 : L'illusion des doublons dans un Set Si Livre est une classe avec un titre et un
auteur, pourquoi ce HashSet finit-il par contenir DEUX livres identiques, alors que les Set
sont censés interdire les doublons ?

Java
Set<Livre> bibliotheque = new HashSet<>();

Livre l1 = new Livre("Java pour les Nuls", "Barry Burd");


Livre l2 = new Livre("Java pour les Nuls", "Barry Burd");

[Link](l1);
[Link](l2);

[Link]([Link]()); // Affiche 2 !

Vous aimerez peut-être aussi