Vector sortieren!



  • Hi,

    wie kann ich ein Vektor sortieren nach einer bestimmten Spalten??

    Habe eine Adressenverwaltung geschrieben und die Daten in einen Vektor gespeichert nun wollte ich nach 3 "Spalte" sortieren. Collections.sort(vector); nimmt der Compiler an, aber dann crash das Programm ab! Oder ist es total daneben einen Vector zu benutzen?

    Vector = Name, Vorname, Strasse ,....

    mfg

    V.



  • Ob du nen Vector nimmst, hängt davon ab, welche Operationen du oft darauf ausführen willst. Collections.sort müsste eigentlich fein sein. Wenn das Programm abstürzt, machst du wohl irgendwas noch falsch. 😉



  • Hi,

    also ich brauche Vektor nur für Suchen, Ersetzen, Sortieren (nach bestimmten "Spalten"), Laden und Speichern (sonst nix).

    mfg
    V



  • wie kann ich in einem Vektor:

    Name_1, Vornam_1, Strasse_1
    Name_2, Vornam_2, Strasse_2
    Name_3, Vornam_3, Strasse_3
    Name_4, Vornam_4, Strasse_4
    ...

    Name_n, Vornam_n, Strasse_n

    Nach zb. Vornamen sortieren??

    danke im voraus!

    mfg

    V.



  • Indem du einen Comparator bei sort() übergibst, der das so macht, wie du es dir vorstellst.



  • Danke!

    Kennst eine gute Seite wo ich einige Beispiele mit Comparator finde?
    Sehe leider nicht durch wie ich es machen soll!

    mfg

    V.

    PS: Danke noch mal



  • Da gibt Google sicher was her. Aber ein Problem sollte das ja nicht sein. Du musst eigentlich nur ne Klasse schreiben, die das Comparator-Interface implementiert und eine Instanz davon dann an sort() übergeben. Mit compare() kannst du genau bestimmen, wie die Sortierreihenfolge dann sein soll.



  • Joa sowas hatte ich auch schon, habe einfach ein String Array in eine Vektorposition gespeichert, aus nem KLon die Strings ausgelesen und mit java.util.Arrays.sort() sortiert, und dann wieder zurück kopiert ... Zugegeben etwas umständlich, aber mit ner entsprechenden Klasse in ner eigenen Bibliothek recht einfach nutzbar (und flexibel) ... Ich werde meinen Bibliothek mal sauberer gestalten und updaten dann stell ich sie mal online.
    so long John


Log in to reply