Un tableau de liste d'objet
Résolu
histl4000
Messages postés
140
Statut
Membre
-
histl4000 Messages postés 140 Statut Membre -
histl4000 Messages postés 140 Statut Membre -
Bonjour,
Dans le cadre d'un cours je dois faire un exercice qui consiste a faire quelque adaptation. Donc enfaite, je dispose d'un tableau de voiture :
Et je dois transformer ce tableau de voiture en un tableau de liste de voiture initialisé à 10. Je comprends pas comment procéder. Est-ce qu'il s'agit de faire bêtement une liste c-à-d:
ou je dois faire ceci ?
Je vois pas très bien ce que je dois faire. Merci pour l'aide que vous m'apporterai
Dans le cadre d'un cours je dois faire un exercice qui consiste a faire quelque adaptation. Donc enfaite, je dispose d'un tableau de voiture :
private Voiture[] voiture;
Et je dois transformer ce tableau de voiture en un tableau de liste de voiture initialisé à 10. Je comprends pas comment procéder. Est-ce qu'il s'agit de faire bêtement une liste c-à-d:
private ArrayList<Voiture> voitures =new ArrayList[10];
ou je dois faire ceci ?
private ArrayList<Voiture>[] voitures =new ArrayList[10];
Je vois pas très bien ce que je dois faire. Merci pour l'aide que vous m'apporterai
1 réponse
-
Bonjour,
La classe Voiture, tu l'as créé toi même (ou on te la fourni), elle contient des attributs, un ou plusieurs constructeurs et des méthodes.
La classe ArrayList, pareil, à part qu'elle est fourni par Java. Et ce que l'on te demande de faire, c'est d'utiliser les constructeurs et méthodes de la classe ArrayList pour remplacer les tableaux.
La documentation de ArrayList est ici : https://docs.oracle.com/javase/10/docs/api/java/util/ArrayList.html
Cela te décrit l'ensemble des constructeurs et méthodes que tu peux utiliser pour cette classe.
Dans ton cas, ce sera plutôt :ArrayList<Voiture> voitures = new ArrayList<>(10);
C'est à dire en utilisant le constructeurpublic ArrayList(int initialCapacity)
-
-
Une autre question : Si je fais comme vous m'avez dit comment puis-je faire pour prendre la taille de la liste ? Car j'en ai besoin dans l'un des calculs. C'est bien ceci pour avoir la taille ? :
voitures.size();
Cela me retourne 0 alors que je voudrais avoir 10...- Il y a deux notions à ne pas confondre :
- la capacité de la liste : le nombre d'éléments qu'elle peut contenir (qui augmente automatiquement)
- la taille de la liste : le nombre d'éléments qu'elle contient réellement (que compte la méthode size)
En faisantnew ArrayList<>(10)
la liste est créée avec une capacité initiale de 10 éléments, mais elle est vide, donc sa taille vaut 0, c'est normal.
Pour la remplir il faut utiliser la méthode add(Voiture). Si tu ajoutes 10 voitures tu auras une taille à 10.voitures.add(new Voiture(1)); voitures.add(new Voiture(2)); voitures.add(new Voiture(3)); ...
-
-