Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

2 dimensioanles Array sortieren

317 views
Skip to first unread message

Markus Zeller

unread,
Dec 9, 2002, 10:38:36 AM12/9/02
to
Hallo!

Ich habe ein zweidimensionales Array (String[][]), das Werte wie in einer
Tabelle speichert.
Wie kann ich dieses Array nun nach einer bestimmten Spalte alphabetisch bzw.
numerisch sortieren?

Beispielcode (Funktion) wäre super!

Besten Dank!

Gruß
Markus


Ingo R. Homann

unread,
Dec 9, 2002, 10:51:31 AM12/9/02
to
Hi!

Markus Zeller schrieb:

Das ist ja fast schon eine FAQ! :-)

Du mußt einen entsprechenden Comparator schreiben, etwa so:

class StringArrayComparator {

public StringArrayComparator(int spalte) {
this.spalte=spalte;
}

public int compare(Object o1, Object o2) {
String[] s1=(String[]) o1;
String[] s2=(String[]) o2;
return s1[spalte].compareTo(s2[spalte]);
}

}

Dann kannst Du alles auf die java.util.Arrays.sort()-Methode (oder die
anderen Collections aus diesem Package) loslassen.

Der rest ist RTFM. ;-)

Ciao,
Ingo

Michael Borgwardt

unread,
Dec 9, 2002, 10:52:59 AM12/9/02
to
Markus Zeller wrote:
> Ich habe ein zweidimensionales Array (String[][]), das Werte wie in einer
> Tabelle speichert.
> Wie kann ich dieses Array nun nach einer bestimmten Spalte alphabetisch bzw.
> numerisch sortieren?
>
> Beispielcode (Funktion) w?e super!

Also erstmal wird es nur dann vernünftig (ohne großes Rumkopieren) funktionieren
wenn Du mit "Spalte" die zweite Dimension meinst, da in Java ein zweidimensionales
Array ein Array von eindimensionalen Arrays ist.

Ansonsten: einen java.util.Comparator implementieren, der zwei String[] auf einer
bestimmen Position vergleicht, und dann mit java.util.Arrays.sort() sortieren.

Andree Große

unread,
Dec 10, 2002, 2:13:55 PM12/10/02
to
Markus Zeller schrieb:

>
> Hallo!
>
> Ich habe ein zweidimensionales Array (String[][]), das Werte wie in einer
> Tabelle speichert.
> Wie kann ich dieses Array nun nach einer bestimmten Spalte alphabetisch bzw.
> numerisch sortieren?

a) Du schiebst die Werte tatsächlich in eine Datenbank-Tabelle,
dann ist die Sortierung doch völlig überflüssig, weil das
DBMS die Daten so ablegt, wie es gerade paßt.
b) Du füllst mit diesem Array ein TableModel, dann würde ich
die Sortierung im TableModel implementieren, was kein Akt
ist. Aber auch da brauchst Du, wie schon von den anderen
erwähnt, einen Comparator.

A.G.

0 new messages