Hi Leute,
ich hab die Aufgabe ein logfile eines Schlüsselaus-und eingabe Programms auszuwerten.
Ich lasse das logfile einmal durchlaufen Zeile für Zeile, so und jetzt das eigentliche Problem. Das logfile speichert die Daten eines ganzen Tages, d.h. jeder Schlüssel kann ein paar mal ausgegeben und zurückgegeben werden.
Wenn z.B. der Schlüssel mit der Nummer "1" im logfile entdeckt wird, soll entweder ein interner counter um eins erhöht werden und die Zahl in die HashMap eingetragen oder bei einer Ausleihe die Ausleihzeit in die HashMap eingetragen werden.
Wenn das logfile also einmal durchlaufen ist, sollen in der HashMap hinterher alle Schlüssel mit ihren Ausleihzeiten und Ausgaben stehen, damit ich die HashMap hinterher auswerten kann und in eine .txt schreiben kann, dies lasst aber mal eine Sache sein ;-)
So könnt Ihr euch es vorstellen, wie die HashMap hinterher aussehen soll:
1, {1, 123423, 2, 162312, 3, 203845}
2, {1, 063412, 2, 124534}
3, {1, 235434}
Wie Ihr hier dran sehen können bei jedem Schlüssel unterschiedlich viele Ein-und Ausgaben pro Tag entstehen. Die Ausleihzeit speicher ich als Integer, in die HashMap, also nicht wundern, dass keine Doppelpunkt(12:34:23) oder ähnliches dazwischen sind.
Jetzt hier noch meine HashMap:
HashMap<Integer, Integer[]> hashMap = new HashMap<Integer, Integer[]>();
Ist das umsetzbar? Wenn ja wie schaffe ich es, dass wenn ein Schlüssel im logfile gefunden wird, entweder der counter erhöht oder die Ausleihzeit, für diesen Schlüssel, in das Integer Array in der HashMap angehängt wird? Nach Durchlauf meines Programms, soll die HashMap also soviele Zeilen haben, wie Schlüssel in dem logfile vorkommen.
Ich weis es is harte Kost, aber ich hoffe Ihr könnt mir weiterhelfen und ich habe es einigermaßen verständlich erklärt ;-)
Gruß Patrick
ich hab die Aufgabe ein logfile eines Schlüsselaus-und eingabe Programms auszuwerten.
Ich lasse das logfile einmal durchlaufen Zeile für Zeile, so und jetzt das eigentliche Problem. Das logfile speichert die Daten eines ganzen Tages, d.h. jeder Schlüssel kann ein paar mal ausgegeben und zurückgegeben werden.
Wenn z.B. der Schlüssel mit der Nummer "1" im logfile entdeckt wird, soll entweder ein interner counter um eins erhöht werden und die Zahl in die HashMap eingetragen oder bei einer Ausleihe die Ausleihzeit in die HashMap eingetragen werden.
Wenn das logfile also einmal durchlaufen ist, sollen in der HashMap hinterher alle Schlüssel mit ihren Ausleihzeiten und Ausgaben stehen, damit ich die HashMap hinterher auswerten kann und in eine .txt schreiben kann, dies lasst aber mal eine Sache sein ;-)
So könnt Ihr euch es vorstellen, wie die HashMap hinterher aussehen soll:
1, {1, 123423, 2, 162312, 3, 203845}
2, {1, 063412, 2, 124534}
3, {1, 235434}
Wie Ihr hier dran sehen können bei jedem Schlüssel unterschiedlich viele Ein-und Ausgaben pro Tag entstehen. Die Ausleihzeit speicher ich als Integer, in die HashMap, also nicht wundern, dass keine Doppelpunkt(12:34:23) oder ähnliches dazwischen sind.
Jetzt hier noch meine HashMap:
HashMap<Integer, Integer[]> hashMap = new HashMap<Integer, Integer[]>();
Ist das umsetzbar? Wenn ja wie schaffe ich es, dass wenn ein Schlüssel im logfile gefunden wird, entweder der counter erhöht oder die Ausleihzeit, für diesen Schlüssel, in das Integer Array in der HashMap angehängt wird? Nach Durchlauf meines Programms, soll die HashMap also soviele Zeilen haben, wie Schlüssel in dem logfile vorkommen.
Ich weis es is harte Kost, aber ich hoffe Ihr könnt mir weiterhelfen und ich habe es einigermaßen verständlich erklärt ;-)
Gruß Patrick