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

Windows Forms Discussion :

[C#] Performance : c'est mieux un tableau ou un ArrayList?


Sujet :

Windows Forms

  1. #1
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut [C#] Performance : c'est mieux un tableau ou un ArrayList?

    tout est dans le titre : je fais de nombreuses requêtes sur ma BD et je voudrais savoir s'il vaut mieux enregistrer les infos dans un tableau ou un ArrayList (ou un objet encore plus rapide et plus léger fais exprès). En particulier quand je renvoit plusieur champs (ce qui me donne des tableau à 2D ou des ArrayList dans des tableaux).
    d'avance.

  2. #2
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    ben je pense que le tableau est plus rapide que l'arraylist. l'arraylist est une liste chainée. en faite si je me souviens bien de mes cours d'algo, je crois que si le nombre de consultations est superieurs aux nombres de modifications alors il faut utiliser un tableau. par contre si il y a plus d'insertion et de suppression que de consultation alors il faut utiliser une liste chainée. enfin si ma memoire est bonne ...

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  3. #3
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    bè en fait il y en a autant étant donnée que j'ai un tableau (ou un arrayList) à l'intérieur duquel j'insère (par exemple) 100 valeurs dans 3 colonnes (donc 300 valeurs) puis après je lis ces valeurs lignes par lignes.

  4. #4
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    ben si tu connais le nombre d'enreg que tu va avoir, alors je pense que dans ton cas, utiliser un tableau sera plus approprié. enfin a mon avis, je me trompe peut etre.

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  5. #5
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    OK, freddyboy, je vais faire comme tu me dis alors en attendant de voir si quelqu'un en sait plus encore.

  6. #6
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut
    Salut

    Perso, j'utilise les arraylist.

    Pour manipuler des objets ils sont très puissant.
    Les tableaux je les utilise vraiment pour de petits jeu de données.

  7. #7
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    moi aussi j'utilises les ArrayList mais le problème comme je l'ais (aie, ai : : ) dit plus haut c'est que j'ai souvent des tableaux en 2D voir en 3D et le problème avec les ArrayList c'est que pour récupérer une valeur au deuxième voir au troisième niveau c'est le bordel : il faut que tu te crées une classe car monArrayList[i][j][k] ça marche pas.

  8. #8
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Au passage une autre petite question : quelqu'un saurait comment déclarer un tableau à 2 dimension(ça je sais faire) avec dans la première dimension des entiers et dans la seconde des string(ça je sais pas faire sinon en insérant des tableaux dans le tableau) :

  9. #9
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    je crois pas que cela soit possible de declarer un tableau de 2 dimension avec des int et des strings.

    une table de hashage ne te serait pas utile par hasard dans ce cas ?

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  10. #10
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    je n'ai jamais utilisé les tables de hashage (à vrai dire je ne sais même pas ce que c'est), je suis encore très novice
    Je viens de penser à un moyen en faisant ça :mais bon... c'est pas génial.

  11. #11
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    ben si j'ai bien compris tu va avoir un entier associé à une string c'est ca ?
    la table de hashage va te permettre d'avoir un acces rapide a ta string a partir du moment ou tu connais ton int.

    regarde la classe Hashtable.

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  12. #12
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    c'est exactement ça
    Je te remercie une fois de plus.

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut Re: [C#] Performance : c'est mieux un tableau ou un ArrayLis
    Citation Envoyé par trotters213
    je voudrais savoir s'il vaut mieux enregistrer les infos dans un tableau ou un ArrayList
    Simple, c'est pas une question de perfs. Juste d'utiliser ce dont on a besoin, ni plus, ni moins.

    Taille fixe, sans ajout/suppression -> tableau.
    Autre chose à une dimension -> ArrayList.
    Autre chose à 2 dimensions -> HashTable, NameValueCollection, SortedList, classe perso, y a le choix.
    Autre chose à plus de 2 dimensions -> classe perso ou combinaison de collections déjà existantes.


    Et pour peu quand tu passes cet objet à d'autres méthodes, si ces méthodes se limitent à utiliser une interface (IList/ICollection), tu peux passer de l'un à l'autre n'importe quand, si le besoin s'en fait sentir (ou pour comparer les perfs).
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  14. #14
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    OK bè je crois que c'est clair et net
    Maniak.

  15. #15
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    après vérification c'est bien les HashTable, NameValueCollection et SortedList, mais pour les tableau à 3 colonnes ça ne marche pas vu qu'on ne peut mettre que 2 valeurs
    Excusez moi mais là il faut que je trouve le bon truc

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

Discussions similaires

  1. En couleurs c'est mieux !
    Par Cantalou dans le forum Access
    Réponses: 4
    Dernier message: 26/06/2006, 12h09
  2. Réponses: 9
    Dernier message: 09/05/2006, 00h45
  3. [PEAR][Mail] Est ce que c'est mieux avec PEAR ?
    Par hisy dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 07/03/2006, 12h33
  4. l'info c'est bien, appliqué à autre chose, c'est mieux!
    Par bubuchanwa dans le forum Etudes
    Réponses: 30
    Dernier message: 13/07/2005, 19h08
  5. execute/perform quelle est la différence?
    Par stago dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/06/2004, 10h51

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