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 :

[Collections][performances] HashTable ou ArrayList ?


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 17
    Points : 18
    Points
    18
    Par défaut [Collections][performances] HashTable ou ArrayList ?
    Petite question bête : je dois stocker un certain nombre de couples de String, que je devrais ensuite lire de façon séquentielle.

    Pour stocker ça, vaut-il mieux (en terme de performances, d'occupation mémoire...) que je stocke des objets de type "CoupleDeString" dans une ArrayList ou que je crée un HashTable pour ça (ou une autre idée ?) ?
    Je dois lire les éléments dans le même ordre que celui où je les ai rentré (un gros interêt de la HashTable qui tombe donc).

    Bref, j'ai du mal à me décider, est-ce que vous voyez un argument que je connaitrais pas qui ferait pencher la balance ?

  2. #2
    Membre habitué Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Points : 160
    Points
    160
    Par défaut
    bah les piles (Stack) comme ca tu pourras lire dans le sens que tu veux...
    ensuite tu y insèreras des objet CoupleDeString...ca me parait honnête
    Hum hum hum...géant vert ! ! !
    Le meilleur moyen de trouver c encore de chercher ! ! !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 104
    Points : 135
    Points
    135
    Par défaut
    Salut,

    tout dépend comment tu manipules tes données. Si tu fais juste du 'stockage' et de la lecture séquentielle, tu utilises une List dans laquelle tu stockes un objet (que tu auras créé) )qui contient tes String.
    Si tu as besoin de faire un accès à une String à partir de l'autre (récupération d'une valeur à partir d'une clé), il vaut mieux utiliser une Map.
    Il faut savoir que pour une Map, l'ajout d'un élément n'est pas gratuit car on passe par la fonction de hashage ce qui n'est pas le cas d'une List.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    Stack extends de Vector, on en revient un peu au même dilemme...

    Je ne ferais effectivement que du stockage et de la lecture séquentielle, comme je le disais, le gros avantage de la HashTable (ou de la Map) ne me sert pas...

    Ma question était en fait de savoir si il était effectivement couteux d'ajouter un élément à un HashTable. Je m'en doutais un peu, mais merci d'avoir confirmé !

    Merci de vos réponses

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 01/10/2010, 17h50
  2. Hashtable ou Arraylist
    Par tortuegenie dans le forum ASP.NET
    Réponses: 5
    Dernier message: 05/02/2008, 12h28
  3. Hashtable et arraylist
    Par Sebastien0104 dans le forum Struts 1
    Réponses: 16
    Dernier message: 11/12/2006, 11h13
  4. [1.1] Quelle alternative à Hashtable et ArrayList ?
    Par maitrebn dans le forum Framework .NET
    Réponses: 13
    Dernier message: 10/08/2006, 18h10
  5. [Collections]question sur un ArrayList
    Par julrock dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 10/08/2006, 11h41

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