Sortieren einer Liste von Objekten in absteigender Reihenfolge
Ich möchte sozusagen ein list-Objekt, in absteigender Reihenfolge, und mit Blick auf classcastexception-Fehler.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
class Student implements Comparator<Student>{
private int id;
private String name;
public Student(int id, String name){
this.id = id;
this.name = name;
}
public int getId(){
return id;
}
public String getName(){
return name;
}
}
public class CollectionSearchDemo {
public static void main(String[] args) {
List<Student> list = new ArrayList<Student>();
list.add(new Student(3, "ouier"));
list.add(new Student(2, "fdgds"));
list.add(new Student(7, "kiluf"));
list.add(new Student(1, "6trfd"));
list.add(new Student(8, "hjgas"));
list.add(new Student(5, "ewwew"));
Collections.sort(list, new Comparator<Student>() {
@Override
public int compare(Student arg0, Student arg1) {
return arg0.getId() - arg1.getId();
}
});
Iterator iterator = list.iterator();
while(iterator.hasNext()){
Student student = (Student) iterator.next();
System.out.print(student.getId()+":"+student.getName()+" ");
}
System.out.println("\nSorting in reverse order:");
// Collections.reverse(list);
Comparator<Student> collections = Collections.reverseOrder();
Collections.sort(list, collections); //here getting classCastException.
Iterator iterator1 = list.iterator();
while(iterator1.hasNext()){
Student student = (Student) iterator1.next();
System.out.print(student.getId()+":"+student.getName()+" ");
}
}
}
Wissen wollen paar thigs.
1)was ist der Unterschied bet ' N
Sammlung.reverse(Liste)
und
Comparator collections = Sammlungen.reverseOrder();
Sammlungen.sort(Liste, Sammlungen);
2)warum bin ich vor classcastexception-Fehler.
- Sie bekommen eine
ClassCastException
weilStudent
umsetzen sollteComparable<Student>
, nichtComparator<Student>
. - ja.es funktioniert.Können Sie bitte lassen Sie mich wissen, mit etwas mehr Beschreibung?Es wird mir helfen zu verstehen, dieses Konzept besser
- Ein
Comparator
vergleicht Dinge. EinComparable
werden kann, im Vergleich zu anderen Dingen. - Hallo,ich möchte binarysearch-Methode auf diese Liste.Ich bin vor eine Ausnahme.
stackoverflow.com/questions/14896120/... .Bitte helfen Sie mir.Ich bitte Sie
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie
reverse()
Methode,reverseOrder()
also die
ClassCastException