Rechercher : dans
Par :

Vector,arraylist

Dernière réponse le 4 nov 2009 à 11:26:06 Ness, le 4 nov 2009 à 04:43:18 
 Signaler ce message aux modérateurs

Bonjour,
Je viens de voir la notion de vector ou arraylist en cours ms je ne comprend pas très bien à quoi ça sert,si quelqu'un pouvait m'eclairer ce serait cool,merci d'avance! :D

Configuration: Windows Vista Internet Explorer 7.0

Meilleures réponses pour « Vector,arraylist » dans :
Introduction à la STL en C++ (standard template library) VoirIntroduction Principales classes de la STL std::pair std::list std::vector std::set std::map Les iterators iterator et const_iterator reverse_iterator et const_reverse_iterator Les algorithmes ...
Conteneurs de séquence - vector VoirConteneurs de séquence La bibliothèque C++ standard contient trois véritables conteneurs de séquence : vector, list et deque. Les conteneurs stack, queue et priority_queue sont plutôt des descripteurs de conteneur. vector Pour utiliser un...

1

 sandul, le 4 nov 2009 à 11:26:06

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:

// 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]

Répondre à sandul