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

C# Discussion :

performances des Collections, List, tableau, etc.


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    423
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 423
    Points : 188
    Points
    188
    Par défaut performances des Collections, List, tableau, etc.
    Bonjour

    J'ai une grande quantité d'objet que je dois stocker dans une liste/tableau. Je voudrais connaître le meilleur "conteneur" à utiliser dans mon cas, ou du moins le meilleur compromis sachant que :

    - grande quantité d'objet (de quelques millier à quelques centaines de millier)
    - j'ajoute tous les objets au début de l'exécution de mon code
    - en revanche pendant le reste de l'exécution j'ai beaucoup de lecture
    - et relativement beaucoup de suppression (c'est variable)
    - je dois souvent rechercher des objets particuliers dans la liste (selon un champ du type d'objet contenu dans la liste)


    Etant donné que j'ai pas mal de suppression je pense qu'il vaut mieux écarter immédiatement le simple tableau. Mais pour les autres je n'en sais rien du tout. List ? ArrayList ? Quel est le mieux dans mon cas ?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Je serais tenté de répondre List<>... Quelqu'un peut confirmer ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 35
    Points
    35
    Par défaut
    Salut!

    Ca dépend de combien tu dois chercher et lire en runtime.

    Si tu dois chercher souvent les mêmes éléments ça vaut le coup d'avoir une structure qui se réorganise automatiquement à chaque accès.

    Je ne suis pas trop d'accord avec la liste, tu mettrais trop de temps pour acceder aux éléments.

    ArrayList non plus, sauf si tu connais les indexes des éléments que tu vas chercher, ce qui me parait plus probable.

    J'utiliserais un arbre balancé ( AVL ), d'après moi, ce sera le plus efficace.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    423
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 423
    Points : 188
    Points
    188
    Par défaut
    Le problème est lié à celui-ci : http://www.developpez.net/forums/sho...d.php?t=311567 , simplification de terrain. Cela se fait selon la méthode "Edge collapse" (plus de détails ici : http://www.melax.com/polychop/gdmag.pdf )

Discussions similaires

  1. validation des données / liste & tableau filtré
    Par jonleboss44 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/01/2014, 03h37
  2. Collection, List, ObservableCollection etc. Lequel Choisir ?
    Par myCollections dans le forum Windows Presentation Foundation
    Réponses: 22
    Dernier message: 26/09/2011, 15h56
  3. liste des pays et région etc..en js
    Par aidez_moi dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 26/03/2008, 20h44
  4. [Collection][List] Complexite des méthodes.
    Par marchand_de_sable dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 10/07/2006, 01h40
  5. Réponses: 1
    Dernier message: 03/10/2005, 15h46

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