/ / So implementieren Sie Compare to method for custom object - Java, vergleichbar

Wie zu implementieren Vergleichen Sie mit Methode für benutzerdefiniertes Objekt - Java, vergleichbar

In Java habe ich eine ArrayList von mireigene (implementiert) Ich habe eine Sortiermethode, also brauche ich die "CompareTo" -Methode. Deshalb habe ich Comparable implementiert und die Klasse abstrakt gemacht. Aber wenn ich arraylist von main verwende, muss ich compare to method implementieren. Aber ich kann nicht verstehen, wie ich das implementieren kann (ich habe eine Einschränkung, zum Beispiel wenn ich eine Arrayliste der "order" -Klasse habe, die ich in vergleichbarer Klasse nicht implementieren kann )

Anordnungsliste

public abstract class ArrayList<T>  implements  Comparable

innerhalb Sortierfunktion

    Comparable left=(Comparable)L[i];
Comparable right=(Comparable)R[j];
for(int k=start;k<=end;k++)
{
if(left.compareTo(right)<=0)
{
array[k]=L[i];
i++;
left=(Comparable)L[i];

}

Vom Haupt

ArrayList<Order> order = new ArrayList<Order>() {
@Override
public int compareTo(Object o) {
if(this)// but this main is not order class this is arraylist class
return 0;
}
};

Antworten:

1 für die Antwort № 1

Warum tut dein ArrayList implementiert Comparable? Möchten Sie 2 Listen vergleichen? Wenn Sie die Elemente der Liste vergleichen oder sortieren möchten, sollten die Elemente Vergleichbar sein, nicht jedoch die Liste selbst.

Sie können sich auch folgendes Problem ansehen: So verwenden Sie Comparator in Java zum Sortieren Sie müssen dann ein implementieren Comparator für deine Klasse Order (nicht die Schnittstelle Comparable)