In Java habe ich eine ArrayList meiner eigenen (implementiert) Ich habe eine Sortiermethode, so brauche ich 'compareTo' -Methode das ist, warum ich Comparable implementiert und die Klasse abstrakt gemacht. Aber wenn ich arraylist vom Haupt verwende, muss ich Methode mit Methode implementieren. Aber ich kann nicht verstehen, wie ich das implementieren kann. (Ich habe eine Beschränkung, zum Beispiel, wenn ich eine arraylist von 'Auftragsklasse habe, kann ich nicht vergleichbar in Auftragsklasse implementieren)Wie zu implementieren Vergleichen Sie mit Methode für benutzerdefiniertes Objekt
Arraylist
public abstract class ArrayList<T> implements Comparable
innen 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];
}
Von 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;
}
};
prüfen, was gesagt @Loic M.. Grundsätzlich, wenn Sie "Vergleichbare" Schnittstelle implementieren, bedeutet das, dass Sie wollen, dass dieses bestimmte Objekt mit anderen Objekten vergleichbar ist, weshalb Sie die 'compareTo (Object o)' Methode implementieren müssen. Was Sie wirklich wollen, ist, Elemente zu vergleichen, also sollten Sie eine "Vergleichbare" Schnittstelle für die Elemente in der Liste – MichaelDD