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 :

Optimiser la taille d'un arrayList


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 80
    Par défaut Optimiser la taille d'un arrayList
    Salut a tous,

    Je possede un arrayList, il peut contenir entre 0 et TAILLE_MAX = 10000 elements.

    Est il plus optimisé de le definir comme myArrayList(10000), sachant qu il est possible qu il ne contienne qu 1 elt, par ex, ou alors ne pas lui definir de taille, mais d avoir un modcount = 9999 potentiellement ?

    Merci d avance !

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Tout dépend.

    Si dans la plupart des cas, il contient 100 éléments ça ne sert à rien de lui donner 100'000 comme taille de base. Par contre s'il dépasse presque toujours 50'000 ça vaudrait la peine de l'augmenter.

    Pour le modcount je ne sais pas ce que c'est, mais pour ce qui est du redimensionnement, c'est fait automatiquement par l'ArrayList, il n'y a pas besoin de le gérer.

  3. #3
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Le plus performant, ca reste de connaitre la taille à l'avance

    Sinon, si quand tu ajout n données tu connais n, tu peux aussi faire list.ensureCapacity(list.size()+n);

    ca permet un certain controle de l'agrandissement. Sinon, arraylist déclare avoir un temps constant amorti pour l'ajout d'éléments.

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 80
    Par défaut
    Salut,

    le modcount, c le nombre de fois que l on change la taille du tableau.

    Pour mon histoire, normalement, le plus souvent, j'aurai peu d element ( <500 ), cependant, le prog doit gerer le cas ou il y a 10000 entree, donc je dois optimiser ce cas.

    Si je comprends bien, si j initialise a 10000 je consume des ressources memoires, et si je ne mets pas de taille, je consume des ressources processeurs, donc au final c a moi de voir ce que je veux economiser si memoire ou processeur ,
    je me trompe ?

    Dans mon cas, j analyse ligne par ligne un fichier, et si la ligne n est pas valide, je l insere dans un objet dans la liste, donc pas moyen de savoir a l avance la taille.

    Merci encore pour vos reponses !

  5. #5
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    arraylist te garanti des temps d'ajout constant amorti (pour ce que ca vaut), ce qui veux dire qu'ajouter n éléments consome un temps o(n).

    Sinon t'as l'option de la linkedlist qui est plus performante aux ajouts

Discussions similaires

  1. Optimiser / réduire taille fichier Excel
    Par philoflore dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 03/04/2020, 00h21
  2. Réponses: 4
    Dernier message: 06/02/2013, 13h39
  3. Comment optimiser la taille d'une animation ?
    Par infonetpclog dans le forum Flash
    Réponses: 2
    Dernier message: 18/07/2009, 12h56
  4. Optimisation de taille du code compilé
    Par n0mad dans le forum Débuter
    Réponses: 12
    Dernier message: 19/02/2009, 01h12
  5. Quelle optimisation en taille d'écran pour les sites
    Par JeanMi66 dans le forum Webdesign & Ergonomie
    Réponses: 26
    Dernier message: 16/09/2008, 21h37

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