
Envoyé par
abir84
C,est quoi la différence?

En fait j'ai utilisé Vector juste parce que j'ai besoin de stocker des éléments dont je connais pas le nombre, donc j'ai besoin d'une structure qui ressemble aux tableaux mais sans connaitre la taille a priori.
Vector date du tout début de Java, et possède deux gros défaut :
- elle est synchronisé (et donc potentiellement moins performance si tu l'utilise en mono-thread).
- elle a une API pas très clair, avec énormément de méthode
En gros tu la remplaces par ceci :
List<TaClasseTopic> topics = new ArrayList<TaClasseTopic>();
puis tu utilises add() au lieu de addElement()...
Quand à l'iterator et la boucle étendu de Java 5, cela te permet de parcourir tous les éléments comme ceci :
1 2 3
| for (TaClasseTopic topic : topics) {
System.out.println("========= "+ " " + topic);
} |

Envoyé par
abir84
Merci, j'avais une confusion. J'ai cru que lorsque je fais un addElement(objet), un nouveau objet est construit automatiquement. JE savais pas que ça pointait vers l'objet ajouté

J'ai essayé avec clone et ça marche
1 2
| topics.addElement(topic.clone());
topic.clear(); |
Merci

Plutôt que de faire un clone() pas très joli. Crée simplement l'objet juste avant de l'ajouter plutôt qu'au tout début de ton code comme tu dois le faire actuellement...
a++
Partager