Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

JAVA: Vektor sortieren





Frage

Hi! Angenommen ich habe einen Vector, den ich mit Objekten, z.Bsp. Kontos, gefüllt habe. JEdes Konto-Objekt hat eine Kontonummer, und einen Namen. Der Vektor sieht bspw. so aus(hier nur mit Kto-Nr.): {(4), (10), (1), (3)} Nun will ich ihn sortieren, und zwar geordnet nach Kontonummern. Die Methode, nach der ich suche, soll also liefern: {(1), (3), (4), (10)} HIermit klappt es jedenfalls nicht: //Methode Sortieren nach Kontonummern public void kontenSortieren () { ---Konto x = null; ---Konto y = null; ---int i = 0; ---int j = 0; ---for ( i = 0; i < (konten.size()-1); i++) { ------for ( j = i+1; j < konten.size(); j++) { ---------x = (Konto) konten.elementAt(i); ---------y = (Konto) konten.elementAt(j); ---------if (x.gibKontonr() > y.gibKontonr()) { ---------------Konto tmp; ---------------tmp = x; ---------------x = y; ---------------y = tmp; ---------}//end if -------}//end for (j...) ---}//end for (i...) }// end method Wisst Ihr vielleicht eine Lösung? Danke, C.

Antwort 1 von disco

moin

hab mir zwar jetzt den algorithmus nicht so genau angeguckt (soll wohl nen bubblesort oder so werden) aber wo ordnest du den vector neu?
ich schreibs mal logisch auf.:

Konto tmp = Konto x;
Konto x; = Konto y;
Konto y = Konto tmp;

damit überschreibste einfach nur irgendwelche konto-objekte. du musst die ja auch wieder in einen vector schreiben oder so. im grunde machste eigentlich gar nix.

g,
disco

Antwort 2 von semi

...class Konto implements Comparable
...
public int compare(Object o)
{
  return this.kontoNr.compareTo(((Konto)o).kontoNr);
}
...


Collections.sort(vectorVollerKonten);


Antwort 3 von GrapeFruit

@Semi

Hi!
Vielen Dank! Hatte inzwischen eine andere Lösung, nicht so elegant wie Deine, gefunden: Habe die Kto-Nr. in ein Array gelegt, dort sortiert, und anschließend den Vektor wieder mit den entsprechenden Kto-Objekten gefüllt.

Ciao,
Claudia

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: