Difference tableaux / ArrayList

alonsyl Messages postés 348 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 6 novembre 2008 - 5 déc. 2005 à 13:41
jcodeunpeu Messages postés 365 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 2 décembre 2006 - 5 déc. 2005 à 17:43
bonjour,

1) si j'ai bien compris, la difference principale entre les tableaux et les arraylists c'est qu'on ne peut mettre qu'1 seul type d'objet dans 1 tableau ... vrai ou faux ???

2) vector et arraylist c'est la meme chose sauf que vector c'etait utilise en java1 et que arraylist c'est utilise en java2 (meme si on peut tjrs utilise vector) ... vrai ou faux ???

3) par contre le truc dont je n'ai absolument aucune idee, c'est sur la difference entre arraylist et linkedlist ... quand utilise l'1 plutot que l'autre ??? (et pourquoi ...)

merci a vous,

alonsyl

1 réponse

jcodeunpeu Messages postés 365 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 2 décembre 2006 2
5 déc. 2005 à 17:43
Salut,
tu oublies une différence fondamental entre List/Vector qui tout deux implementent
Collection, et les tableaux : les tableaux sont de tailles fixes.
Une ArraysList utilise une structure indexée, une linkedList utilise une structure liée ...
C'est quoi indexée, c'est quoi liée ? me diras-tu ...
pas si évident, puisque HashMap est aussi une structure indexée, non liée, à l'inverse de TreeMap, qui est à Map ce que linkedList est à List.
Désolé j'ai pas encore la réponse, faut prendre le temps d'apprendre ...je vais chercher...
pour Vector, ça marche toujours sans souçis, mais je lisais ailleurs que la rapidité des manipulations sur ArrayList et la synchronisation sont meilleurs qu'avec Vector ...
c'est donc question de se mettre à la page, mais je pense qu'on peut avoir utilité à certaine méthode de la classe Vector dans certains cas absente de ArrayList et vice et versa : vu que le champ elementData de Vector est protected, pas possible de construire un vector avec un tableau d'objet à moins d'étendre Vector, en revanche ArrayList l'autorise ; new ArrayList(Arrays.asList(new Object [] {"toto"}));
à voir...
A+
0
Rejoignez-nous