|
|
|
|
Salut,
// tableau de String; capacité = 10 éléments String[] tableau = new String[10]; // liste; capacité variable, même si on déclare une capacité initiale de 100 éléments // pour la deuxième liste List<String> liste1 = new ArrayList<String> (); List<String> liste2 = new ArrayList<String> (100); Disons que tu ne connais pas le nombre d'éléments à mettre dans ton tableau (imagine une lecture de données à partir d'un fichier, par exemple) ==> avec un tableau c'est nécessaire de le sur-dimenssioner pour qu'il puisse accueillir tous les éléments (==> perte inutile de mémoire); même sur-dimensionné, il est parfois difficile de travailler avec (calculer l'indice lorsque l'on veut insérer un élément): tableau[7] = "élémént en 7ème position"; alors que pour une List c'est tout simple: on rajoute l'élément sans se préoccuper de la position: liste1.add("encore un élément");
Différence entre ArrayList et Vector: tous les 2 implémentent l'interface List. ArrayList est non synchronisé pour le multi-threading donc un chouïa plus rapide que les Vector. Si ton programme ne gère pas explicitement de multiples threads, utilise donc systématiquement les ArrayList. Il y a des milliers de tutos sur le net pour exemplifier ces différences, voici le 1er qui m'est tombé sous le coude: http://skeletoncoder.blogspot.com/2006/09/java-tutorials-arraylist-or-vector.html Bon courage. A man would die, though he were neither valiant nor miserable, only upon a weariness to do the same thing so oft over and over. [Bacon] |