Sammlungen Sortieren, benutzerdefinierte Komparator funktioniert nicht

Habe ich einen benutzerdefinierten Comparator zum Sortieren einer ArrayList von Strings. Ich habe es durch den debugger und sah, wie Sie vergleichen und Rückgabe-Werte korrekt. Aber mein array nicht sortiert ist. Da ich bin neu in Java & Android, es könnte etwas anderes passiert sein.

Nach einem Blick auf es für ein paar Stunden, ich kann nicht herausfinden, was .. und seit ich mit dieser Seite zu beantworten so viele Fragen, ich wusste, wo zu kommen !

    Collections.sort(allWords, new Comparator<String>(){
        public int compare(String o1, String o2) {
            scoreWord sc1 = new scoreWord((String)o1);
            scoreWord sc2 = new scoreWord((String)o2);
            int i1 = sc1.getScore();
            int i2 = sc2.getScore(); 
            if ( i1 > i2 )
                return 1;
            return 0;
        }

        public boolean equals(String o1, String o2) {
            scoreWord sc1 = new scoreWord((String)o1);
            scoreWord sc2 = new scoreWord((String)o2);
            int i1 = sc1.getScore();
            int i2 = sc2.getScore(); 
            if ( i1 == i2 )
                return true;
            return false;
        }
     });
Aus welchem Grund brauchen Sie die equals(String o1, String o2) Methode?
versuchen compare(Object o1, Object o2) und equals(Object o1, Object o2)

InformationsquelleAutor Richard | 2011-08-06

Schreibe einen Kommentar