Java Datum-Objekte sortieren

Diskutiere mit über: Java Datum-Objekte sortieren im Mac OS X Entwickler, Programmierer Forum

  1. banz

    banz Thread Starter MacUser Mitglied

    Beiträge:
    406
    Zustimmungen:
    0
    Registriert seit:
    26.05.2003
    Hallo,
    wieder mal so eine ( für euch ) Kinderkram - Schulaufgaben - Frage.
    Aufgabe: eine Menge von ca. 20 -200 Daten in einem Datumsformat sortieren.
    Nach eingehender Recherche im Net rauscht mir nun der Kopf bei den unterschiedlichen Array und Containertypen, Listen und was weiss ich nicht alles.
    Weil ich im Moment nicht weiter weiss, frage ich mal euch:

    Eingegeben werden Strings in der Form "dd.mm.yyyy"
    dann wird das zu einem GregorianCalendar - Objekt konvertiert, um zu überprüfen, ob es dieses Datum gibt / gab. ( Zumindest glaub ich das :)
    Die anfallenden Daten sollen in ein Array oder Liste oder was weiss ich nach Jahr -> Monat -> Tag aufwärts sortiert werden.

    Welche Containerart bietet sich hier an, die vielleicht sogar schon sortiert abspeichert?

    mfg banz
     
  2. jay

    jay MacUser Mitglied

    Beiträge:
    154
    Zustimmungen:
    0
    Registriert seit:
    12.08.2003
    hi.

    es gibt verschieden möglichkeiten. eine davon wäre zb.

    Code:
    private void init() throws DateSortException
       {
          Object[] dateArray =  new Object[]{"22.12.2004", "12.02.2004", "30.12.2005"};
          ArrayList dateList = new ArrayList();
          
          for(int count = 0; count < dateArray.length; count++)
          {
             addToDateList(dateArray[count], dateList);
          }
          
          System.out.println(sortList(dateList));
       }
       
       private ArrayList sortList(ArrayList dateList) throws DateSortException
       {
          if(dateList != null)
          {
             Collections.sort(dateList); //liste sortieren
             return dateList;
          }
          else
          {
             throw new DateSortException("ne ne null!");
          }
       }
       
       private void addToDateList(Object date, ArrayList dateList) throws DateSortException
       {
          if((date != null) && (dateList != null))
          {
             if(!date.toString().equals(""))
             {
                String dateStr = date.toString().trim();
                if(dateStr.length() == 10) // auf richtige length checken
                {
                   dateStr.replaceAll(".", ""); // dots entfernen
                   dateList.add(dateStr);  // der liste hinzufuegen
                }
                else
                {
                   throw new DateSortException("zu lang");
                }
             }
             else
             {
                throw new DateSortException("passt nit");
             }
          }
          else
          {
             throw new DateSortException("passt nit");
          }
       }
    
    hth.jay

    EDIT: zwecks check bist mit dem gregorian-cal schon auf dem richtigen weg. Danach wie gehabt. Sollte ja auch nur ein kleiner Denkanstoss werden. Du kannst auch, wenn du mit Date arbeitest, entweder Year, Month oder Day getrennt extrahieren. Beste Möglichkeit, als .getDate() extrahieren (dann bekommst du einen int), und diesen in die ArrayList schupsen. Oder einen eigenen Sort-Alg entwerfen ;).
     
    Zuletzt bearbeitet: 23.12.2004
  3. banz

    banz Thread Starter MacUser Mitglied

    Beiträge:
    406
    Zustimmungen:
    0
    Registriert seit:
    26.05.2003
    danke ;-)

    Die Überprüfung , ob ein Datum richtig ist, mache ich jetzt doch einfacher mit

    public Date verify_Dat( String datStr ) throws ParseException
    {
    DateFormat datForm = DateFormat.getDateInstance();
    datForm.setLenient( false );
    Date dat = datform.parse( datStr );
    return dat;
    }

    *Nachdem ich schon die wildesten if abfragen zusammengbastelt hatte *gg* war das Günstigste natürlich viel zu offensichtlich*.

    Werde wohl auch eine ArrayList nehmen und die, bei der Eingabe verifizierten Daten durch ein InsertionSort ( andem ich noch bastelle *rofl**grmpf* ) reinpacken.

    vielen Dank für die Denkanstösse
     
Die Seite wird geladen...
Ähnliche Themen - Java Datum Objekte Forum Datum
Umgebungsvariabel Java Mac OS X Entwickler, Programmierer 14.11.2016
Java deinstallieren, ältere Version installieren Mac OS X Entwickler, Programmierer 13.09.2016
JAVA unter OS X EL Capitan Mac OS X Entwickler, Programmierer 15.04.2016
Java - Minesweeper (Bilder einbinden) Mac OS X Entwickler, Programmierer 20.02.2016
Verschiedene Java-Versionen Mac OS X Entwickler, Programmierer 11.02.2016

Diese Seite empfehlen

Benutzerdefinierte Suche