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 :

Stream : Fusionner 2 listes


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 53
    Points
    53
    Par défaut Stream : Fusionner 2 listes
    Bonjour, Je souhaiterai avoir de l'aide sur une idée : fusionner 2 listes différentes comportant une information identiques .
    Liste 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [
    {id:123, Info: "TEXTE"},
    {id:456, Info: "AUTRE TEXTE"}
    ]
    Liste 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [
    {id:123, SecondInfo: "AUTRE TEXTE"}
    ]
    Et mon résultat souhaité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [
    {id:123, Info: "TEXTE", 
    SecondInfo: "AUTRE TEXTE"}, 
    {id:456, Info: "AUTRE TEXTE"}
    ]
    Je sais qu'avec stream, on peut fusionner les 2 Listes mais on obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    List<monObjet> combinedStream = Stream.concat(
      Stream.concat(Liste1.stream(), Liste2.stream()).collect(Collectors.toList();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [
    {id:123, Info: "TEXTE"}, 
    {id:456, Info: "AUTRE TEXTE"}, 
    {id:123, SecondInfo: "AUTRE TEXTE"}
    ]
    Merci de votre aide.

  2. #2
    Membre habitué Avatar de Badshade23
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2014
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2014
    Messages : 203
    Points : 133
    Points
    133
    Par défaut
    Salut,

    Je suppose que c'est des objets que tu as dans ta liste avec un id.... Tu pourrais créer une nouvelle liste que tu remplis avec ta première liste puis tu la remplie avec l'autre en vérifiant au préalable si les objets n'ont pas le même id qu'un des objets déjà présents.
    Si c'est le cas tu compares les deux objets et les complètes/fusionnes non ?
    Sinon en redéfinissant ton equals, hashcode pour que celui-ci test sur l'id et s'il retourne vrai tu fais appel à une méthode pour fusionner les deux objets en question.


    Je vois que ça, personnellement je ne pense pas que tu puisses faire ça d'un coup avec les streams.

Discussions similaires

  1. Fusionner Deux Listes
    Par Meliodas09 dans le forum Prolog
    Réponses: 2
    Dernier message: 14/01/2016, 19h01
  2. Algorithme fusionnant 2 listes distinctes
    Par mathier dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 25/01/2012, 07h09
  3. [Excel] Fusionner deux LISTES avec Intersection
    Par courriervirtuel dans le forum Excel
    Réponses: 3
    Dernier message: 17/09/2011, 19h44
  4. [Toutes versions] fusionner des listes de validation
    Par Cantalou dans le forum Excel
    Réponses: 0
    Dernier message: 21/06/2011, 12h18
  5. Fusionner 2 listes sans répétition
    Par jaljal dans le forum Général Java
    Réponses: 5
    Dernier message: 24/11/2009, 16h20

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