<E> après le nom de la classe et en utilisant E à la place du type concretÉcrire une classe Liste<E> générique représentant une liste chaînée dont les nœuds peuvent contenir n'importe quel type objet.
<E> après le nom de la classe : class NomClasse<E> {.E comme type pour les champs qui doivent être génériques (ex : E head;).NomClasse<E> dans les types récursifs et les paramètres du constructeur.E avec des types primitifs (int, double, etc.) — E doit rester une classe.Écrire une classe Liste<E> générique représentant une liste chaînée dont les nœuds peuvent contenir n'importe quel type objet.
On ajoute <E> après le nom de la classe :
class Liste<E> {
On déclare les champs avec le type générique E :
E head;
Liste<E> tail;
On écrit le constructeur en utilisant Liste<E> pour le type récursif :
Liste(E i, Liste<E> l) { head = i; tail = l; }
}
Le type E n'est jamais mélangé avec un type primitif dans la déclaration de la classe :
// Correct : E head; Incorrect : int head;
La classe Liste<E> est générique et peut être utilisée avec n'importe quel type classe.
Les applications suivantes et la correction guidée sont réservées aux membres Premium
La méthode et sa première application corrigée restent en accès libre. Le Premium débloque les applications suivantes, l'aide IA et le suivi de ta maîtrise.