A voir également:
- Vector,arraylist
- Algolab photo vector - Télécharger - Retouche d'image
- Tri d un vector en java - Forum Java
- Enlever toutes les occurrences du même élément d'une ArrayList ✓ - Forum Java
- Transformer un ArrayList en tableau a 2 dimmension - Forum Java
- Openssl_encrypt(): using an empty initialization vector (iv) is potentially insecure and not recommended - Forum PHP
1 réponse
Salut,
Une List est utile pour gérer une collection d'objets sans taille fixe. Elle a, bien sûr, une taille initiale (même si tu ne la précises pas dans le constructeur) mais celle-ci va être automatiquement modifiée en fonction des opérations sur la liste.
Par contraste, un tableau d'objets a une taille fixe...
Comparer:
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):
alors que pour une List c'est tout simple: on rajoute l'élément sans se préoccuper de la position:
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.
Une List est utile pour gérer une collection d'objets sans taille fixe. Elle a, bien sûr, une taille initiale (même si tu ne la précises pas dans le constructeur) mais celle-ci va être automatiquement modifiée en fonction des opérations sur la liste.
Par contraste, un tableau d'objets a une taille fixe...
Comparer:
// 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.