↑
QCM CHAPITRE 8

Exercices de révision

Testez vos connaissances sur les collections (List, Set, Map), leur manipulation et les génériques
Ce QCM couvre toutes les sections du chapitre 8 : l'introduction aux collections (besoin des collections, concepts List/Set/Map), la manipulation des collections (ajout, suppression, recherche, parcours), et les génériques (principe, utilisation simple, création de classes génériques, héritage, méthodes génériques). Répondez aux questions puis vérifiez vos réponses en cliquant sur le bouton "Afficher les réponses".

8.1 – Introduction aux collections

1

Quelle est la principale limitation des tableaux en Java ?

Choix multiples
2

Quels sont les avantages des collections par rapport aux tableaux ?

Choix multiples
3

Dans quel package se trouvent les collections Java ?

Choix unique
4

Quelles sont les caractéristiques d'une List en Java ?

Choix multiples
5

Quelles sont les caractéristiques d'un Set en Java ?

Choix multiples
6

Quelles sont les caractéristiques d'une Map en Java ?

Choix multiples
7

Quelle est la différence principale entre List et Set ?

Choix unique
8

Quand doit-on utiliser une List, un Set ou une Map ?

Choix unique

8.2 – Manipulation des collections

9

Quelle méthode permet d'ajouter un élément à une List ?

Choix unique
10

Quelle méthode permet d'ajouter une paire clé-valeur à une Map ?

Choix unique
11

Quelle méthode permet de vérifier si un élément existe dans une List ?

Choix unique
12

Quel est le résultat de ce code :

List<String> liste = new ArrayList<>();
liste.add("Alice");
liste.add("Bob");
liste.remove("Alice");
System.out.println(liste.size());
Choix unique
13

Quel est le résultat de ce code :

Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 25);
ages.put("Bob", 30);
ages.put("Alice", 26);
System.out.println(ages.get("Alice"));
Choix unique
14

Quelle est la méthode la plus simple et recommandée pour parcourir une collection ?

Choix unique
15

Quand doit-on utiliser un Iterator plutĂ´t qu'une boucle for-each ?

Choix multiples
16

Quel est le résultat de ce code :

List<String> liste = new ArrayList<>();
liste.add("Alice");
liste.add("Bob");
liste.add("Charlie");

for (String element : liste) {
    System.out.println(element);
}
Choix unique
17

Qu'est-ce qu'un ListIterator et en quoi diffère-t-il d'un Iterator ?

Choix multiples
18

Quel est le résultat de ce code :

Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 25);
ages.put("Bob", 30);

for (String nom : ages.keySet()) {
    System.out.println(nom);
}
Choix unique
19

Quelle méthode permet de parcourir les paires clé-valeur d'une Map ?

Choix unique

8.3 – Génériques

20

Qu'est-ce que les génériques en Java ?

Choix unique
21

Quels sont les avantages des génériques ?

Choix multiples
22

Quel est le résultat de ce code :

List<String> liste = new ArrayList<>();
liste.add("Hello");
liste.add("World");
// liste.add(123);  // Cette ligne
String s = liste.get(0);
Choix unique
23

Qu'est-ce que le diamond operator (<>) en Java ?

Choix unique
24

Quelle est la syntaxe pour créer une classe générique ?

Choix unique
25

Quelles sont les conventions de nommage pour les paramètres de type génériques ?

Choix multiples
26

Quel est le résultat de ce code :

public class Boite<T> {
    private T contenu;
    
    public Boite(T contenu) {
        this.contenu = contenu;
    }
    
    public T getContenu() {
        return contenu;
    }
}

Boite<String> boite = new Boite<>("Hello");
String s = boite.getContenu();
Choix unique
27

Comment déclarer une contrainte sur un paramètre de type générique ?

Choix unique
28

Quelle est la relation entre List<String> et List<Object> en Java ?

Choix unique
29

Que signifie le wildcard ? extends T ?

Choix unique
30

Que signifie le wildcard ? super T ?

Choix unique
31

Quelle est la syntaxe pour créer une méthode générique ?

Choix unique
32

Quel est le résultat de ce code :

public class Utilitaires {
    public static <T extends Comparable<T>> T maximum(T a, T b) {
        return a.compareTo(b) > 0 ? a : b;
    }
}

String max = Utilitaires.maximum("Alice", "Bob");
Choix unique
33

Une méthode générique peut-elle être dans une classe non générique ?

Choix unique
34

Quel est le résultat de ce code :

List<String> liste = new ArrayList<>();
liste.add("Alice");
liste.add("Bob");
liste.add("Charlie");

Iterator<String> it = liste.iterator();
while (it.hasNext()) {
    String element = it.next();
    if (element.equals("Bob")) {
        it.remove();
    }
}
System.out.println(liste.size());
Choix unique
35

Quel est le résultat de ce code :

List<String> liste = new ArrayList<>();
liste.add("Alice");
liste.add("Bob");
liste.add("Charlie");

ListIterator<String> it = liste.listIterator();
while (it.hasNext()) {
    String element = it.next();
    if (element.equals("Bob")) {
        it.add("David");
    }
}
System.out.println(liste);
Choix unique
36

Quel est le résultat de ce code :

Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 25);
ages.put("Bob", 30);
ages.put("Charlie", 35);

for (Map.Entry<String, Integer> entry : ages.entrySet()) {
    System.out.println(entry.getKey() + " : " + entry.getValue());
}
Choix unique