IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

LinkedList et ArrayList


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de wafiwafi
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 500
    Par défaut LinkedList et ArrayList
    Bonjour,
    J'avais lu dans un livre le passage suivant :
    LinkedList est similaire à ArrayList, avec la commodité supplémentaire apportée par des méthodes qui facilitent l'insertion et la suppression d'éléments en début et en fin de liste.
    Ma question est bête mais que je me pose tout de même :

    Pourquoi ne pas doter ArrayList de ces méthodes supplémentaires et ne pas créer une autre structure LinkedList . Cela arrange l'utilisateur qui se perd généralement dans la multitude des structures de données à sa disposition.
    Certes l'implémentation n'est pas la même (structure chaînée), mais l'utilisateur s'enfiche puisque de toute façon, il n'y a pas accès.
    Bien à vous

  2. #2
    Membre éclairé
    Avatar de wafiwafi
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 500
    Par défaut
    Je viens de trouver la réponse!
    Une grande différence entre l'utilisation des deux structures à cause de leurs manières d'implémentation...qui changent complétement la donne (utilisation)
    Merci à vous

  3. #3
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Pour comprendre la différence, il faut savoir comment ces listes sont implémentées; Mais d'abord, il faut savoir que le but d'une liste est de stocker un nombre inconnu d'elements.

    Dans le cas de l'arraylist, les données sont stockées dans un tableau. A l'instanciation, un tableau est créé et rempli en faisant des add. Le probleme, c'est que si on ajoute trop d'elements, le tableau va etre trop petit. Il va donc devoir etre recréé et recopié. Pire, si on supprime un élément en plein milieu de la liste, il faut décaler tous les éléments suivants.
    L'arraylist est donc bien adapté pour stocker des données qu'on ne va pas supprimer ensuite.

    La linked list, elle, stocke les données sous forme de liste chainée. On peut donc ajouter autant d'element qu'on veut, il n'y a pas de probleme. Et en cas de suppression, il suffit de faire pointer le maillon precedent sur le maillon suivant pour supprimer un maillon. Par contre, pour l'element l'indice n, il faut parcourir n elements. Cette liste n'est donc pas adaptée pour acceder aux elements d'apres leur indice.

    Le choix du bon type de liste/map peut changer les performances d'une application. C'est pour des raisons comme ca que les developpeurs ont encore du boulot

  4. #4
    Membre éclairé
    Avatar de wafiwafi
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 500
    Par défaut
    Super bien expliqué! Et c'est super clair.

    Merci à toi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différence entre LinkedList et ArrayList ?
    Par van der zahir dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 21/09/2011, 02h12
  2. Vector Vs ArrayList Vs LinkedList
    Par thierryler dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 29/04/2011, 10h40
  3. [Liste] Différence entre LinkedList et ArrayList ?
    Par wafiwafi dans le forum Collection et Stream
    Réponses: 25
    Dernier message: 30/01/2011, 14h16
  4. Caster LinkedList a ArrayList
    Par xoco dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 01/07/2009, 17h26
  5. [ STRUTS ][ JSP ][ ArrayList] un lien pour trier
    Par LoulouFifi dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 03/02/2004, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo