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

Langage Java Discussion :

collection et taille memoires


Sujet :

Langage Java

  1. #1
    Débutant
    Inscrit en
    Avril 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 360
    Points : 132
    Points
    132
    Par défaut collection et taille memoires
    bjr, je veux savoir lequel des collections occupe la place memoires (lourde cote memoire) : tableau ,vector, arralist, hashmap, set ?
    Merci

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Le moins de place mémoire, c'est clairement le tableau, c'est l'objet le plus simple. Les autre objets de l'api Collection java utilisent des tableaux en interne (ArrayList/Vector: tableau redimensionné avec un certaine granularité, Set: depend du set, un ou plusieurs niveaux de tableaux et des listes chainées, idem pour hasmaps)

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Les Set sont des spécialisations des HashMap, pour info Ils prennent donc plus de place. Et à priori (je peux me planter), un TreeSet prend moins de place qu'un HashSet, mais est plus lent.

  4. #4
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Faut quand même avoir des contraintes assez élevées pour se préoccuper de ce genre de choses. J'ai des ArrayList à foison et l'impact mémoire est vraiment insignifiant.
    Et c'est surtout bien plus pratique à manipuler qu'un tableau.
    Comment ça ? La réponse à ton problème n'est ni dans la faq, ni dans les tutos, ni dans sources ??? Etonnant...
    De la bonne manière de poser une question (et de répondre).
    Je ne fais pas de service par MP. Merci (...de lire les règles...).
    Ma page dvp.com

  5. #5
    Débutant
    Inscrit en
    Avril 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 360
    Points : 132
    Points
    132
    Par défaut
    oui, ci vrai, mais le systeme sur lequel on travail necessite la gestion de la memoire, pour la facilité, les arraylist sont plus vite et pratique que les tableaux
    Merci

  6. #6
    Membre régulier Avatar de TrYde
    Homme Profil pro
    Responsable de l'industrialisation logiciel
    Inscrit en
    Juillet 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Responsable de l'industrialisation logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 55
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    ArrayList, comme le dit son nom, est basée sur un tableau (array) pour stocker les éléments en interne. C'est la liste la moins gourmande en espace, par conséquent elle est recommandée pour avoir un bon compromis pratique-compact

  7. #7
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Points : 318
    Points
    318
    Par défaut
    Par contre il faut nuancer selon ce que tu veux en faire... Si cette liste va être parcourue entièrement de façon séquentielle, une LinkedList peut être plus appropriée. Niveau taille mémoire, je sais pas, mais niveau perfs y'a pas photo

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Citation Envoyé par DevTeam_ Voir le message
    Par contre il faut nuancer selon ce que tu veux en faire... Si cette liste va être parcourue entièrement de façon séquentielle, une LinkedList peut être plus appropriée. Niveau taille mémoire, je sais pas, mais niveau perfs y'a pas photo
    Heu, tu va m'expliquer en quoi suivre un a un les noeuds d'une liste est censé être plus rapide qu'accéder à l'index d'un tableau? L'iterator de l'arraylist est tout simple, en gros il te récupère tableau[index++], alors que pour le linked list il te fait un truc genre item=item.next; je vois pas lequel est censé etre le plus rapide des deux, donc je dirais que, en fait, il faut un photo finish pour départager

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Bah, ce qui permet de dire ça, ce sont les perfs (pas super optimisées) constatées ici. Mais on parle de collections très larges et de temps de parcours très court, on fait la différence au photo finish, comme tu dis.

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

Discussions similaires

  1. taille memoire designé à un periphérique
    Par simo_20_11 dans le forum Windows XP
    Réponses: 2
    Dernier message: 19/03/2007, 18h07
  2. detection de frequence CPU et taille memoire
    Par gargle dans le forum MFC
    Réponses: 9
    Dernier message: 06/03/2007, 15h44
  3. RMI et gros objet et taille memoire
    Par littleqi dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 01/02/2007, 19h12
  4. Probleme de taille memoire
    Par esperance dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 12/01/2007, 23h22
  5. Tableau et taille memoire
    Par timothee95 dans le forum C++
    Réponses: 5
    Dernier message: 07/11/2005, 00h02

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