Hallo Leute
In einer QuickSort Klasse wird ein ListArray übergeben und soll sortiert werden.
Nun habe ich das Problem, dass ich in einer while Schlaufe prüfe ob ein HI Wert (Inhalt des Arrays) grösser ist als der LO Wert:
Hier ein Beispiel eines "normalen" Arrays
Nun habe ich das Problem, dass ein ArrayList zuerst gecastet werden muss, bis man auf den Wert zugreifen kann.Code:while (list[hi].getMInstanz().compareTo(Wert) >= 0 && lo < hi) { hi--; } while (list[lo].getMInstanz().compareTo(Wert) < 0 && lo < hi) { lo++; }
zBsp.:
Hier muss der Eintrag aus dem ArrayList in ein Datenformat "Daten" gecastet werden und dann auf diesem Objekt die Methode "get" aufgerufen und diese dann verglichen werden.Code:while ((Daten ti = (Daten) LISTE.get(HI)) ti.compareTo(Wert) >= 0 && lo < hi) { hi--; ...
Dies funktioniert natürlich nicht.
Kann mir jemand hierbei helfen?
Natürlich steht die Variante (Methode) toArray() zur Verfügung, mit welcher ich das ArrayList zuerst in ein "normales" Array umkopiere und nach der Sortierung wieder in ein ArrayList kopieren muss.
Jedoch erscheint mir diese Variante zu "unschön".
Hat jemand eine Idee
Gruss
Che
Lesezeichen