Bonjour,
Je cherche à parcourir un fichier "fruits.txt" où il y a plusieurs occurrences du même fruit (ou pas) sur certaines lignes. L'idée c'est qu'en premier temps de parcours la liste, prendre de la liste seulement une fois le nom de chaque fruit, son répétition.
Affiche des fruits (un seul mot sans redondance) avec le nombre occurrences.
A ce stade, je ne gère pas l'enregistrement du résultat dans un fichier resultat.txt
Merci d'avance.
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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
/*
fruits.txt
...
pomme
banane
pomme
orange
orange
kiwi
pomme
banane
banane
...
*/
package src.com.hemebiotech.analytics;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ReadFruits {
private String filepath;
public ReadFruits(String filepath) {
super();
this.filepath = filepath;
}
// serialisation
public List<String> GetFruits() {
ArrayList<String> result = new ArrayList<String>();
List<String> list = new ArrayList<String>();
if (filepath != null) {
try {
BufferedReader reader = new BufferedReader (new FileReader(filepath));
String line = reader.readLine();
//transvaser resultat dans liste
//pour comparer et extraire seulement une fois le contenu d'une ligne
while (line != null) {
result.add(line);
line = reader.readLine();
System.out.println(" - " + line);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/*la liste des fruits dans un tableau list après
serialisation dans le fichier fruits.txt */
list.addAll(result);
int occurenceNomber = 0;
for(int j=0; j < result.size(); j++) {
//comparer les deux index si l'accurrence existe on l'injecte dans la liste
// une seule occurence
if(list.get(j).equals(result.get(j))) {
list.add(result.get(j));
System.out.println(occurenceNomber + "nombre d'accurence");
occurenceNomber++;
}
}
return result;
}
} |
Partager