Ecrire ca :
ou ca:
ArrayList<ArrayList<Eleve>> lycee;
donne exactement le même résultat
A la seule différence qu'en situation réelle seule la 1ère solution sera utilisée.
Ta solution va à l'encontre des principes fondamentaux de la programmtion objet.
Avec ce que je propose, si tu veux par exemple rajouter un maillon entre le lycée et les classes, un Niveau (2nde, 1ère, terminale, etc.) par exemple, il me suffit de créer une nouvelle classe Niveau et de changer une seule valeur (Classe qui se transforme en Niveau) dans la classe Lycee.
Alors que si toi tu veux faire un classement berline, citadine, etc. (on est donc dans le même principe puisque ca irait entre la marque et le model) tu dois modifier tout ton code.
Alors c'est vrai que ce que je propose n'est pas une vraie collection de collection, mais en temps que professionnel, mon choix est vite fait 
Il faut bien se dire que même si c'est théoriquement possible de faire une collection de collection, puisqu'une collection accepte des objets et qu'une collection est un objet (...), en pratique l'utiliser signifie dans 100% des cas qu'on a louper une étape dans la conception.
Partager