Question sur ArrayList
Résolu/Fermé
Bonjour,
Vous savez que ArrayList est un objet implementé comme un tableau dynamique
avec un nb d'éléments...
Puisque c'est un tableau , comment l'Iterator peut traverser
l'ArrayList comme s'il traverse une liste ?
et comment il peut ajouter au milieu de ce tableau ?
Et Merci beacoup d'avance
Vous savez que ArrayList est un objet implementé comme un tableau dynamique
avec un nb d'éléments...
Puisque c'est un tableau , comment l'Iterator peut traverser
l'ArrayList comme s'il traverse une liste ?
et comment il peut ajouter au milieu de ce tableau ?
Et Merci beacoup d'avance
1 réponse
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
16 avril 2017 à 10:58
16 avril 2017 à 10:58
Bonjour,
"comment l'Iterator peut traverser l'ArrayList comme s'il traverse une liste ?"
Un Iterator est une interface que l'on implémente comme on veut.
Donc ArrayList a sa propre implémentation de Iterator qui utilise la particularité d'avoir un tableau comme structure de données.
Pour vulgariser, l'Iterator de l'ArrayList c'est un index
"comment il peut ajouter au milieu de ce tableau ?"
De la même manière que l'ArrayList le fait via la méthode add, en décalant les données du tableau d'une case vers la fin pour laisser une place vide pour la donnée à ajouter (c'est donc une opération coûteuse).
"comment l'Iterator peut traverser l'ArrayList comme s'il traverse une liste ?"
Un Iterator est une interface que l'on implémente comme on veut.
Donc ArrayList a sa propre implémentation de Iterator qui utilise la particularité d'avoir un tableau comme structure de données.
Pour vulgariser, l'Iterator de l'ArrayList c'est un index
int iqui fait
data[i]sur le tableau de données.
"comment il peut ajouter au milieu de ce tableau ?"
De la même manière que l'ArrayList le fait via la méthode add, en décalant les données du tableau d'une case vers la fin pour laisser une place vide pour la donnée à ajouter (c'est donc une opération coûteuse).
Modifié le 16 avril 2017 à 12:57
ta réponse est tres utile ..
c'est la réponse que j'attend ! ;)