verschachteltes ArrayList nach Geburtsdatum sortieren

lukengda

Mitglied
Hallo! ich habe eine ArrayList vorliegen in der folgende Strings vorliegen:
Index:0 "Hans;Mustermann;Hauptstr.;4C;65678;Stockstadt;07.08.1965;Professor;12.08.2010;31.11.2010"
Index:1 "Felix;Herz;Nebenstraße;87;65678;Stockstadt am Main;18.10.1984;Student;12.08.2010;31.11.2010"
Index:2 "Dirk;Bach;Hohen Zollern Weg;13;65800;Riedstadt;31.05.1979;Doktorand;12.08.2010;30.11.2010"

jetzt muss ich die einzelnen Strings nach dem Geburtsdatum(6. Wert) sortieren. soll ich die einzelnen Strings schon teilen? Also kann ich in die ArrayList einzelne String Arrays reinlegen?und darin den 6. Wert auch als weiteres Array?
sodass folgende Einstufung vorliegt:
Code:
ArrayList
   String Array
      Hans
      Mustermann
      Hauptstr.
      4C
      65678
      Stockstadt
      String Array
         07
         08
         1965
      Professor
      12.08.2010
      30.11.2010
   StringArray
      Felix
      Herz
      Nebenstr.
      ...

Dann könnte man glaube ich wärend des Sortiervorgang direkt auf das Datum zurückgreifen?
Aber da ich Anfänger bin habe ich keinen Plan ob das so anfangen könnte und wie ich überhaupt anfange zu sortieren?
Ich bin beim Recherchieren schon auf mehrere Algorithmen gehört und auch Klassen die schon in Java fertig sind, die arbeiten aber nur mit den einfachsten Beispielen...

Ich hoffe, dass ich auf euch zählen kann, ihr seit echt ein super freundliches und kompetentes Projekt!!! Vielen Dank schon mal im vorraus

Lukas

ach noch was: ich würde schon gerne verstehen was hier eventuell gleich geredet wird, aber einfach nur ein Verweis auf eine Klasse oder ein Algorithmus dürfte mir zu wenig sein um eine Lösung zu erziehlen!

und noch was: mir fällt gerade auf, dass man das Datum nicht ein mal auseinander nehmen muss warscheinlich, da java ja Daten versteht?!
 
ich würde aus den vielen einzelwerten zunächst mal eine eigene Klasse z.b. Info machen.
Dann hast du ne List<Info> in der alle deine Datensätze liegen, die kannst du dann sehr leicht mit nem Comparator<Info> sortieren.
 
naja, unser Lehrer hat nicht ganz von Vorne begonnen wir schreiben noch alles in die main :lol:
aber ich glaube ich weiß was gemeint ist wenn mir jmd anfangen würde wie ich die ArrayList auswerte könnte ich es ja eventuell fertig machen. Aber ich möchte euch auch nicht übermäßig ausnutzen.

wenn ihr mir sagen würdet wie ich die Strings in der neuen Klasse zerlegen kann und dann wie ich sie anhand des Datums sortiere müsste das gehen also könnte ich den String als Date konvertieren und dann mit get.year vergleichen?
 
Du kannst den String mit String.split splitten und mit SimpleDateFormat in ein Datum umwandeln. Datumse sind Comparable, also brauchst du nicht mit getYear rumzumurksen (was sowieso deprecated ist), sondern kannst die compareTo-Methode verwenden. Das alles in einen hübschen Comparator packen, dann erledigt Collections.sort(list, comp) den Rest.

Ist aber ganz schön happig: Noch in main rumkrebsen, aber mit Comparatoren und Format-Objekten herumhantieren (aber ohne wäre noch wesentlich aufwendiger)
 

Zurück
Oben