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

VB.NET Discussion :

Hashtable, NameValeurCollection ou autres


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut Hashtable, NameValeurCollection ou autres
    Bonjour,

    J'ai une liste de tableaux. La liste possède environ 100000 éléments.
    Le tableau est composé de 4 éléments. 2 integers (dont la clé), 2 strings.

    Je recherche le bon objet qui me permettrait de faire de la recherche sur l'index le plus rapidement possible.

    J'ai fait des recherches: une Hashtable ou Dictonnary ne permettent pas des tableaux différents de élément (clé, valeur).
    Et je crains que les performance de NameValeurCollection ne soit pas au rendez-vous.
    Existe-t-il autre chose ???
    En vous remerciant.

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Ton tableau ressemble à quoi exactement ? Parce qu'un tableau de 4 éléments pour moi c'est ça par exemple
    Et le type est le même à ce moment (sauf si tu fais un tableau d'Object, mais créer une classe ou une structure pour gérer ça serait peut être mieux à ce moment). Donc si tu pouvais être plus clair sur ce point déjà, cela permettra peut être de répondre au
    une Hashtable ou Dictonnary ne permettent pas des tableaux différents de élément (clé, valeur).
    et donc solutionner ton problème peut être avec un Dictionary. Car comme tu as une clé bien définie (un entier), ça semble coller au besoin.

  3. #3
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    Merci pour ta réponse. Désolé de ne pas avoir été plus précis...

    En gros je fais actuellement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    'Déclarations
    Public Class toto
            Public toto1 As Integer
            Public toto2 As Integer
            Public toto3 As String
            Public toto4 As String
      End Class
     
     Public tab() As toto
     
     ....
     
    'Remplissage de la table
     
                Dim i As Integer
                ReDim tab(nbelements)  'nbelements proche de 100000
     
                For i = 0 To nbelements - 1 Step 1
     
                    tab(i) = New toto
     
                    tab(i).toto1= xxx
                    tab(i).toto2 = yyy
                    tab(i).toto3= "xxx"
                    tab(i).toto4 = "yyy"
     
                Next
    Y a-t-il un objet plus adapté et performant?

    Je dois rechercher dans le tableau un élément "toto1" particulier pour retourner la de valeur de toto2, toto3, toto4 correspondant.

  4. #4
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    A ce moment utilise un Dictionary. En clé tu auras un entier et en valeur la classe Toto correspondante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim dictionary As New Dictionary(Of Integer, Toto)
    Dim toto As Toto
    toto = new Toto()
    toto.toto1= xxx
    toto.toto2 = yyy
    toto.toto3= "xxx"
    toto.toto4 = "yyy"
    dictionary.Add(toto.toto1, toto)
    Et ensuite pour y accéder
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    toto = dictionary.Item(xxx)
    Tu trouveras tout ce qu'il te faut avec Google ensuite ^^

  5. #5
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    Super merci !!!

  6. #6
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    Oups, le type Dictionnary n'est pas reconnu...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Mondictionary As New Dictionary(Of Integer, toto)
    me retourne :
    Type Dictionary non défini
    par contre HybridDictionary l'est mais ne permet pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Mondictionary As New HybridDictionary (Of Integer, toto)
    Any idea ??

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/05/2007, 12h40
  2. [langage] Comparer Perl avec d'autres langages comme C ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2002, 23h52
  3. Réponses: 2
    Dernier message: 10/07/2002, 11h51
  4. Réponses: 2
    Dernier message: 21/05/2002, 10h25
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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