Tri d'une List

riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010 - 31 mars 2009 à 17:38
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010 - 31 mars 2009 à 21:58
Bonjour, j'ai un petit problème..
En fait je récupère des données dans un fichier csv et je voudrais les comparer.
J'arrive à les récupérer aucun problèmes mais lorsque je les compares, il n'y a pas de tri.

Voici mon code : j'utilise Collections.sort(listTest); parce que mes données sont de type int


<hr />
public class Main {    public static void main(String[] args) {
        List<String> tirage = new LinkedList<String>();
        try {
            CsvReader csvFile = new CsvReader("C:\\Users\\Niko\\Desktop\\num.csv");
            csvFile.readHeaders();

            while (csvFile.readRecord()) {
                String numeros = csvFile.get(0);
                StringTokenizer st = new StringTokenizer(numeros, ";");
                while (st.hasMoreTokens()) {
                    String num = st.nextToken();
                    tirage.add(num);
                }
            }
            csvFile.close();
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

        List listTest = new ArrayList();
        Collections.sort(listTest);

        Iterator tirNum = tirage.iterator();
        while (tirNum.hasNext()) {
            String element = (String) tirNum.next();
            int el = Integer.parseInt(element);

            int count = CollectionUtils.countMatches(tirage, new EqualPredicate(element));

            if (!listTest.contains(el)) {
                listTest.add(el);

                System.out.println("Element : " + el + " present " + count + " fois");
            }

        }
    }
}

6 réponses

uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
31 mars 2009 à 21:34
Tu lance le tri d'un ensemble vide, alors ce n'est pas étonnant, que le programme ne fait aucun tri:
List listTest = new ArrayList();
Collections.sort(listTest);
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
31 mars 2009 à 21:37
Mai même si je le met après, le résultat est le même...
comment dois je faire alros??
0
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
31 mars 2009 à 21:47
Je ne suis pas sûr de bien comprendre ton problème, mais si tu ajoute le code suivant après la boucle while, le programme devrait sortir "istTest"une fois dans le désordre et une fois triée.:
System.out.println(listTest);
Collections.sort(listTest);
System.out.println(listTest);
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
31 mars 2009 à 21:48
J'ai déjà essayé...c'est ça le problème c'est que ça ne fonctionne pas..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
31 mars 2009 à 21:57
J'ai essayé aussi et ça fonctionne. Peus-tu nous donner plus de précisions sur ce qui se passe?
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
31 mars 2009 à 21:58
Ben c'est simplement que le tri ne se fait pas...je vais réessayer alors...Merci
0
Rejoignez-nous