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

Java Discussion :

Comparaison des listes


Sujet :

Java

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Par défaut Comparaison des listes
    Bonjour tout le monde,
    j'ai 2 ensembles de listes (chaque liste contient un mot par ligne) j'aimerais comparer ces deux ensembles pour vérifier que:
    si une liste de l'ensemble 1 contient un mot se trouvant dans une liste de l'ensemble 2 et une autre chaine c si oui je stocke les mots en commun entre chaque deux listes dans une troisième liste puis afficher les element en commun pour chaque liste
    voici mon code
    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
     
    for(i=0;i<taille de l'ensemble1;i++)
    {
      for(j=0;j<taille de l'ensemble2;j++)
      {
        for(k=0;k<liste1.size();k++)
        {
           for(m=0;m<liste2.size();m++)
            {
                 if(liste1.contains(c)&&liste1..get(k).equals(liste2.get(m))
                 {liste3.add(list2.get(m)}
            }
        }
    System.out.println(liste3)
      }
    }
    le problème est que je trouve pas le bon résultat, il répètent plusieurs fois l'affichage du même liste contenant les résultats de chaque comparaison.
    Pourriez vous m'aidez s'ils vous plait?
    Merci d'avance.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par mimihh Voir le message
    si une liste de l'ensemble 1 contient un mot se trouvant dans une liste de l'ensemble 2 et une autre chaine c si oui je stocke les mots en commun entre chaque deux listes dans une troisième liste
    si je comprends bien,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    pour toutes les listes liste1 de l'ensemble 1 :
    
         si liste1 contient c (donc en java liste1.contains(c))          
            alors 
                 pour toutes les listes liste2 de l'ensemble 2
                      ajouter à liste3, les mots se trouvant à la fois dans liste1 et liste2 (avec peut être un test pour savoir si le mot n'est pas déjà dans liste3)
                 fin pour
         fin si
    fin pour
    soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for(List<String> liste1 : ensemble1) {
       if ( liste1.contains(c) ) { 
          for(List<String> liste2 : ensemble2) {
             for(String mot : liste2) {
                if (liste1.contains(mot) ) { // mot en commun à liste1 et liste2
                   // if ( !liste3.contains(mot) ) // à décommenter si on ne veut pas avoir plusieurs fois le même mot dans liste2
                  liste3.add(mot);
               }
            }
          }
       }
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 586
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    si je comprends bien,
    Oh certainement.

    C'est limpide après tout, c'est deux ensembles d'ensembles de mots qui sont des lignes, et si deux conditions sont réunies il faut faire un autre ensemble qui décrit ce qui est commun tous les deux ensembles.

    C'est pas comme si un exemple aurait servi à quelque chose.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Par défaut
    Merci pour votre Réponse
    je voulais savoir où pourrais je afficher les éléments en commun pour chaque liste de l’ensemble2. à quel niveau exactement?
    Merci

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par mimihh Voir le message
    Merci pour votre Réponse
    je voulais savoir où pourrais je afficher les éléments en commun pour chaque liste de l’ensemble2. à quel niveau exactement?
    Merci
    Ah, oui, en effet, je n'avais pas compris la question...

    Mais là je comprends encore moins, "en commun pour chaque liste de l'ensemble2" : en commun avec quoi ? Avec les éléments de la liste de l'ensemble 1 qui contient le mot c ? Dans ce cas liste3 doit être créée pour chaque nouvelle liste de l'ensemble 2, et affichée pour chaque liste de l'ensemble 2.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for(List<String> liste1 : ensemble1) {
       if ( liste1.contains(c) ) { 
          for(List<String> liste2 : ensemble2) {
             List<String> liste3=new ArrayList<String>();
             for(String mot : liste2) {
                if (liste1.contains(mot) ) { // mot en commun à liste1 et liste2
                  liste3.add(mot);
               }
             }
             System.out.println(liste3);
          }
      }
    }
    (on pourrait résourdre ça avec retainAll() du coup)

    Un exemple viendrait bien compléter l'explication.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Par défaut
    j'ai tout essayer mais en vain
    bon je réexplique avec plus de précisions: j'ai 2 ensembles de fichiers chaque ensemble à un taille différents. les fichiers contiennent chacun une liste de mots (un mot par ligne) je devais comparer ces 2 ensembles de fichier pour vérifier à chaque fois si le fichier de 1er ensemble contient la chaine c qui le nom de fichier du 2éme ensemble. Si oui je dois voir s'ils sont des mots en communs, si oui je les stockent à chaque fois dans la liste3.

    avec le code que je teste il y pas toujours de bons résultats

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par mimihh Voir le message
    j'ai tout essayer mais en vain
    bon je réexplique avec plus de précisions: j'ai 2 ensembles de fichiers chaque ensemble à un taille différents. les fichiers contiennent chacun une liste de mots (un mot par ligne) je devais comparer ces 2 ensembles de fichier pour vérifier à chaque fois si le fichier de 1er ensemble contient la chaine c qui le nom de fichier du 2éme ensemble. Si oui je dois voir s'ils sont des mots en communs, si oui je les stockent à chaque fois dans la liste3.

    avec le code que je teste il y pas toujours de bons résultats
    Mets un exemple

    Tu as 2 listes de fichiers, ça ok. Chaque fichier est un fichier texte, dont chaque ligne contient un mot, c'est ça ?

    Citation Envoyé par mimihh Voir le message
    ...pour vérifier à chaque fois si le fichier de 1er ensemble contient la chaine c qui le nom de fichier du 2éme ensemble...
    C'est incompréhensible
    Les fichiers du premier ensemble de fichiers contiennent des noms de fichier, c'est ça ?

    Tu as un ensemble de fichiers (ensemble 1), qui contiennent chacun une liste de noms de fichiers contenant des mots, dont tu cherches les mots en commun, pour chacun des fichiers de l'ensemble 1, c'est ça ?

    genre par exemple
    Ensemble 1, fichier 1 : fichiertruc, fichiermachin
    Ensemble 1, fichier 2 : fichiertruc, fichierbidule

    Ensemble 2, fichier truc : mot1, mot2, mot3, mot4
    Ensemble 2, fichier machin : mot1, mot4, mot5
    Ensemble 2, fichier bidule : mot3, mot5

    Résultat :
    Ensemble 1, fichier 1 : mot1, mot4
    Ensemble 1, fichier 2 : mot3
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Membre émérite Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Par défaut
    Déjà énoncé en français, ce que tu veux faire n'est pas clair, et est "instable" : le sens change à chaque reformulation. Commence donc par avoir un énoncé stable et clair, pour nous expliquer, ensuite il sera plus facile d'écrire le programme.

  9. #9
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Par défaut
    voici le code:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
     
     String[] InputFiles={"fichier1","fichier2","fichier3","fichier4","fichier5","fichier6"};
     String[] InputFiles4 =  {"fichierA","fichierB","fichierC","fichierD"};
     
                  for (String fileName : InputFiles) {
     
                 list1= new String[1000];
                 list4= new ArrayList<String>();  
     
     
                  File f = new File(fileName+".txt");
                  FileReader fr = new FileReader(f);
                  BufferedReader br= new BufferedReader(fr);
                  String ligne= null ;
                  ligne=br.readLine();
                 i=0;
                  while(ligne!=null)
                  {
     
                      list4=ligne.toString();
     
                   ligne=br.readLine();
                   i++;
     
                  }
                  br.close(); 
     
                  for (String fileName4 : InputFiles4) {
     
                 list6= new ArrayList<String>();
     
                 list8= new ArrayList<String>();
     
                  File f4 = new File(fileName4+".txt");
                  FileReader fr4 = new FileReader(f4);
                  BufferedReader br4= new BufferedReader(fr4);
                  String ligne4= null ;
                  ligne4=br4.readLine();
                 k=0;
                  while(ligne4!=null)
                  {list6=ligne.toString();
     
                   ligne4=br4.readLine();
                      k++;
                   }
                  br4.close();
                  for(k=0;k<list6.size();k++){
                    if((list4.contains(fileName4))){
                               list9 = new ArrayList<String>();
                                if((list4.contains(list6.get(k))))
                               list9.add(list6.get(k));
     
                                }
                  }
         System.out.println(list9);           
     
         }}
    l'ensemble 1 contient une liste de mots parmi les quels il peut y avoir les noms des fichier de l'ensemble 2.
    exemple:
    ensemble 1:{"fichier1","fichier2","fichier3","fichier4","fichier5","fichier6"};

    fichier1: fichier2
    aaabb ccccc
    cccddd fichierB
    fichierA bbbbdd
    ddddd ficherA
    fichierD aaaaaa

    ensemble 1:{"fichierA","fichierB","fichierC","fichierD"};

    fichierA fichierB
    ccccc bbbbdd
    aaabb dddddd
    ddddd ffffffaaa

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par mimihh Voir le message

    l'ensemble 1 contient une liste de mots parmi les quels il peut y avoir les noms des fichier de l'ensemble 2.
    Ca c'est déjà une information que n'avais pas donnée !!! Ouf !
    Donc tu un ensemble de fichiers, qui contiennent des mots et des noms de fichiers


    exemple:
    ensemble 1:{"fichier1","fichier2","fichier3","fichier4","fichier5","fichier6"};

    Citation Envoyé par mimihh Voir le message
    fichier1: fichier2
    aaabb ccccc
    cccddd fichierB
    fichierA bbbbdd
    ddddd ficherA
    fichierD aaaaaa
    Tu n'avais pas dit qu'il y avait un mot par ligne ? Donc il faut comprendre (je suppose):

    fichier1:
    aaabb
    cccddd
    fichierA
    ddddd
    fichierD

    fichier2:
    ccccc
    fichierB
    bbbbdd
    ficherA
    aaaaaa

    Citation Envoyé par mimihh Voir le message
    ensemble 1:{"fichierA","fichierB","fichierC","fichierD"};
    La tu voulais probablement dire ensemble 2

    Avec
    fichierA:
    ccccc
    aaabb
    ddddd

    fichierB:
    bbbbdd
    dddddd
    ffffffaaa


    Reste plus qu'à dire quels mots en communs de quoi et quoi tu cherches ?

    Genre, est ce les mots en commun entre les mots d'un fichier de l'ensemble 1, et les mots des fichiers dont les noms sont dans ce fichier ?

    Par exemple, pour fichier 1, on aurait :

    aaabb
    ddddd
    + les mots en communs entre fichierD et fichier 1

    Ce qui semble correspondre au code que tu as mis (vite lu), (je ne parles pas des trucs étranges dans le code comme ce tableau de 1000 String appelé list1 ???)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    A noter que ton code n'est pas beaucoup plus clair que tes énoncés !

    • Déjà, bien indenté, il serait plus aisé à lire.
    • Ensuite, utilises des noms de variables qui on du sens et pas list1, list2, list3, list4, list5, list7, list8... !!! on s'y retrouve pas
    • Ensuite, évites le code qui ne sert à rien... genre list1= new String[1000];
    • Découpes ton code en méthodes élémentaires, une pour lire les fichiers de l'ensemble 1, un pour lire les fichiers de l'ensemble 2, une pour faire le traitement, etc... ça n'en sera que plus clair, et plus facile à déboguer.
    • Enfin, lorsque le traitement est un peu complexe, utiliser des types de bases s'avère assez prise de tête à mettre au point et à relire : une petite classe supplémentaire parfois simplifie la compréhension du tout et permet plus facilement de construire l'algo (genre, par exemple, une classe qui représente le contenu d'un fichier du premier ensemble, constitué donc d'une liste de mots, et d'une liste de fichiers séparée)...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Par défaut
    oui c'est bien compris pour les exemple des fichier (j'ai juste mis l'affichage en horrizontal) c'est à dire que pour le premier ensemble qui contient les fichiers suivants:
    ensemble 1:{"fichier1","fichier2","fichier3","fichier4","fichier5","fichier6"}
    fichier1:
    aaabb
    cccddd
    fichierA
    ddddd
    fichierD

    fichier2:
    ccccc
    fichierB
    bbbbdd
    ficherA
    aaaaaa

    pour le deuxième ensemble:

    ensemble 1:{"fichierA","fichierB","fichierC","fichierD"}

    fichierA:
    ccccc
    aaabb
    ddddd

    fichierB:
    bbbbdd
    dddddd
    ffffffaaa
    je dois verifier pour chaque fichier de l'ensemble:
    - s'il contient parmi ses mots le nom de l'un des fichiers de l'ensemble 2
    si oui
    - il doit ressortir les mots en communs entre ce fichier et les fichiers de l'ensemble 2

    j'ai essayé de simplifier mon code:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
      List<String> list1 = new ArrayList<String>();
      List<String> list2 = new ArrayList<String>();
     
     String[] InputFiles1={"fichier1","fichier2","fichier3","fichier4","fichier5","fichier6"};
     String[] InputFiles2 =  {"fichierA","fichierB","fichierC","fichierD"};
     
                  for (String fileName1 : InputFiles1) {
                 list1= new ArrayList<String>();  
     
     
                  File f1 = new File(fileName1+".txt");
                  FileReader fr1 = new FileReader(f1);
                  BufferedReader br1= new BufferedReader(fr1);
                  String ligne1= null ;
                  ligne1=br1.readLine();
                 i=0;
                  while(ligne1!=null)
                  {
     
                      list1=ligne1.toString();
     
                   ligne1=br1.readLine();
                   i++;
     
                  }
                  br1.close(); 
     
                  for (String fileName2 : InputFiles2) {
                 list2= new ArrayList<String>();
                  File f2 = new File(fileName2+".txt");
                  FileReader fr2 = new FileReader(f2);
                  BufferedReader br2= new BufferedReader(fr2);
                  String ligne4= null ;
                  ligne2=br2.readLine();
                 k=0;
                  while(ligne2!=null)
                  {list2=ligne2.toString();
     
                   ligne2=br2.readLine();
                      k++;
                   }
                  br2.close();
     
                  for(k=0;k<list2.size();k++){
                    if((list1.contains(fileName2))){
                               list3 = new ArrayList<String>();
                                if((list1.contains(list2.get(k))))
                               list3.add(list2.get(k));
     
                                }
                  }
         System.out.println(list3);           
     
         }}
    Mercii pour tous tes efforts et tous tes conseils
    j'espère que ça sera plus claire cette fois çi.
    Merci d'avance

  13. #13
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Ouf, on y arrive

    Donc, pour simplifier déjà, tu as un traitement à faire, autant de fois qu'il y a de fichiers dans l'ensemble 1 : et le résultat de ce traitement est d'obtenir une liste de mots.

    A partir de là, tu sais ou tu dois afficher cette liste de mot.

    Justement, en découpant ton programme en méthodes élémentaires dédiées, c'est beaucoup plus facile.

    On voit ensuite, que dans ton ensemble 2 de fichiers, son contenu comme le nom des fichiers vont être utilisés : moi j'utiliserais (à défaut de faire des classes dédiées), une Map<String, List<String>> ou les clefs sont des noms de fichiers, et les listes associées les listes des mots de ces fichiers.
    Appelons là motDesFichiers2.

    Ensuite tu lis chaque fichier de l'ensemble 1 :

    - tu stockes dans une liste les noms de fichiers (donc tous mots lus dans le fichier qui sont dans l'ensemble 2), appelons ça listeFichiers
    - et tu stockes dans une liste tous les mots lus qui ne correspondent pas au critère précédent, appelons ça listeMots

    Tu crées une liste, qui va stocker les mots que tu cherches (pour le fichier
    en court), appelons là motsEnCommun

    Tu n'a plus qu'à parcourir listeFichiers, pour chaque fichier, récupérer la liste de mots qu'il contient en utilisant la Map motDesFichiers2,
    la parcourir, et, pour chaque mot parcouru se trouvant aussi dans listeMots, ajouter ce mot dans motsEnCommun

    Et ensuite tu peux afficher motsEnCommun.

    Et tu recommences pour le fichier suivant de l'ensemble 1.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #14
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Par défaut
    Merci beaucoup

Discussions similaires

  1. Comparaison des clés d'une liste
    Par gaussmatt dans le forum Général Python
    Réponses: 4
    Dernier message: 13/03/2014, 08h50
  2. [html:text][indexed]Valeurs des liste null...
    Par thibaut dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 08/09/2004, 10h36
  3. [glut] de l'intérêt des listes
    Par khayyam90 dans le forum OpenGL
    Réponses: 3
    Dernier message: 26/07/2004, 11h35
  4. [langage] probleme avec les listes dans des listes
    Par pqmoltonel dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2004, 13h32

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