ArrayList mit eigener Klasse in Java sotieren

Questionmaire

Neues Mitglied
Hey Leute,

Ich bin schon länger dran aber ich bekomme es irgendwie nicht hin. Ich möchte die ArrayList<Strich> striche der größe nach sotieren, wobei der kleinste wert von laenge das erste element in strich ist.

Ich hab folgende Klassen:
[Java]
public class Strich{
public double leange;

Strich(double laenge)
{
this.laenge = laenge;
}

}
[/Java]

[Java]
public class Vergleich{

public static void main(String[] args)
{
ArrayList<Strich> striche = new ArrayList<Strich>();
striche.add(new Strich(1.2e1d);
striche.add(new Strich(2.214d);
striche.add(new Strich(1.713d);
striche.add(new Strich(5.232d);
striche.add(new Strich(3.213d);

// hier soll strich sotiert werden

}


}
[/Java]

Ich habe schon versucht die Klasse Strich Comparable implementieren zu lasse bzw das mit einem Comperator zu machen, aber die kamen bei mir immer wieder unsotiert raus bzw in der reihenfolge wie sie hinzugefügt habe.

Könnte mir bitte jemand zeigen wie ich das richtig machen muss? hab schon google befragt, gibt auch sehr viele beispiele, aber iwie bekomme ich es nicht hin ;(


Vielen Dank
 
Zuletzt bearbeitet:
Ganz einfach, bei der comparable musst du dann eine Mehtode überschreiben, bin nicht sicher wie hei heißt compareTo() glaube ich, wird dir aber von deiner IDE angezeigt.
Bei dieser wird dir ein Objekt übergeben, mit dem verglichen werden soll.
Nun musst du bestimmen was verglichen werden soll und relativ zu dem ein int zurückgeben. Wenn dieser Integer > 0 dann wird das ding nach dem zu verleichendem Objekt eingeordner, wenn int < 0 dann vor dem zu vergleichendem Objekt.

mfg Major
 

Zurück
Oben