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 :

Comparaison de liste


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Comparaison de liste
    Bonjour,
    Je cherche un moyen de comparer les valeurs de 2 listes afin d'effectuer un traitement suivant les cas.

    En entrée j'ai 2 fichiers, chaque ligne contient des valeurs pour un objet.

    Exemple: pour l'objet Personne avec comme accesseurs id, prenom, metier, j'ai donc à chaque ligne quelque chose du genre

    j ai donc a la fin un tableau de Personne.

    Je fais la meme avec un 2eme fichier et j'obtiens donc un 2eme tableau de personne (pas forcement de meme taille).

    Les id sont uniques dans le premier fichier et unique dans le deuxieme mais peuvent se croiser, genre le 12 peut etre present dans le fichier 1 et 2 mais pas de doublon dans le meme fichier.

    voila donc le pb, comme ce sont de tres gros fichier et que ca doit aller vite, je ne veux pas apres obtention des 2 tableaux parcourir pour chaque valeur du premier tableau tous le deuxieme tableau afin d'effectuer la comparaison.

    Mon idée c'etait au depart d'utiliser une HashMap pour chaque tableau avec comme key un Integer contenant l'id et l'objet personne en valeur.

    Et d'utiliser pour ma comparaison tous simplement la methode contains (testant chaque key de le 1ere hashmap (en passant par un iterator sur le keyset) avec la 2eme hashmap) afin de ne pas me refaire tous le parcours.

    Le probleme c'est que le contains test la reference sur l'objet et non la valeur du Integer, ce que je voudrais...

    Any idea!???

    Si pas clair ne pas hesiter.

    Merci adn helppppppppppp mmmmmmeee
    --------------------------------------------------------~=>mad.team.free.fr<=~

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Redéfinis la méthode equals dans ta classe personne pour que la comparaison se fasse sur l'id.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Oui effectivement g craqué aves ma hashmap, une arraylist ou un set est suffisant avec comme tu l'a dit la redefinition de equal.

    Merci!
    --------------------------------------------------------~=>mad.team.free.fr<=~

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

Discussions similaires

  1. comparaison de liste dans un classeur excel
    Par scons dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/07/2008, 11h06
  2. comparaison 2 listes
    Par moi5252 dans le forum Access
    Réponses: 2
    Dernier message: 27/05/2008, 17h47
  3. Comparaison sur liste chainée
    Par calagan dans le forum C
    Réponses: 9
    Dernier message: 24/07/2007, 21h58
  4. comparaison de listes chainee
    Par smalto dans le forum C
    Réponses: 5
    Dernier message: 22/09/2006, 18h10
  5. [List][Map?] Comparaison de Lists
    Par yolepro dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 25/08/2006, 17h39

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