8.1 – Introduction aux collections
Quelle est la principale limitation des tableaux en Java ?
Quels sont les avantages des collections par rapport aux tableaux ?
Dans quel package se trouvent les collections Java ?
Quelles sont les caractéristiques d'une List en Java ?
Quelles sont les caractéristiques d'un Set en Java ?
Quelles sont les caractéristiques d'une Map en Java ?
Quelle est la différence principale entre List et Set ?
Quand doit-on utiliser une List, un Set ou une Map ?
8.2 – Manipulation des collections
Quelle méthode permet d'ajouter un élément à une List ?
Quelle méthode permet d'ajouter une paire clé-valeur à une Map ?
Quelle méthode permet de vérifier si un élément existe dans une List ?
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());
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"));
Quelle est la méthode la plus simple et recommandée pour parcourir une collection ?
Quand doit-on utiliser un Iterator plutĂ´t qu'une boucle for-each ?
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);
}
Qu'est-ce qu'un ListIterator et en quoi diffère-t-il d'un Iterator ?
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);
}
Quelle méthode permet de parcourir les paires clé-valeur d'une Map ?
8.3 – Génériques
Qu'est-ce que les génériques en Java ?
Quels sont les avantages des génériques ?
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);
Qu'est-ce que le diamond operator (<>) en Java ?
Quelle est la syntaxe pour créer une classe générique ?
Quelles sont les conventions de nommage pour les paramètres de type génériques ?
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();
Comment déclarer une contrainte sur un paramètre de type générique ?
Quelle est la relation entre List<String> et List<Object> en Java ?
Que signifie le wildcard ? extends T ?
Que signifie le wildcard ? super T ?
Quelle est la syntaxe pour créer une méthode générique ?
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");
Une méthode générique peut-elle être dans une classe non générique ?
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());
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);
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());
}