Hallo,
ich fang mal mit dem üblichen Gedöhns an ;-) :
Seit einer Weile beschäftige ich mit der Programmierung in Java.
Nach mehr oder weniger erfolgreichen Programmen versuche ich mich momentan an der Verarbeitung von csv-Dateien.
Bisher habe ich es geschafft eine csv-Datei zu erstellen und diese auch wieder komplett einzulesen.
Es handelt sich hierbei um eine Tabelle mit 3 Spalten und 3 Zeilen:
Nun möchte ich aber auf bestimmte Spalten zugreifen und mir den zugehörigen Inhalt anzeigen lassen.
Nach meiner Recherche eignen sich dazu wohl hashmaps am besten.
Allerdings habe ich Schwierigkeiten, das Prinzip dieser Vorgehensweise zu verstehen.
Was ich bisher verstanden habe ist, dass ich einen 'key' definiere und diesem dann einen 'value' zuordne.
Ich weiß auch, dass der 'key' einzigartig sein muss.
Mein Hauptproblem in meiner Recherche ist, dass die meisten Beispiele davon ausgehen, die erste Spalte einer Tabelle als 'keys' zu definieren.
Ich benötige allerdings die Inhalte der ersten Zeile als 'keys' und möchte dann den jeweiligen Inhalt der Spalte komplett als 'value' diesem 'key' zuordnen.
Leider habe ich absolut keine Ahnung, wie ich nun zur Lösung meines Problems komme und hoffe hier auf den richtigen Ansatz oder vielleicht sogar eine gute Erklärung zur Nutzung und Funktionsweise von hashmaps.
Hier mal mein bisheriger Code:
Wahrscheinlich werden jetzt viel Hände über vielen Köpfen zusammenschlagen.
Aber vielleicht kann man mir ja doch noch helfen.
Gruß Brian
Vielen Dank im Voraus. ;-)
ich fang mal mit dem üblichen Gedöhns an ;-) :
Seit einer Weile beschäftige ich mit der Programmierung in Java.
Nach mehr oder weniger erfolgreichen Programmen versuche ich mich momentan an der Verarbeitung von csv-Dateien.
Bisher habe ich es geschafft eine csv-Datei zu erstellen und diese auch wieder komplett einzulesen.
Es handelt sich hierbei um eine Tabelle mit 3 Spalten und 3 Zeilen:
Code:
1st column;2nd column;3rd column
a to 1st col;a to 2nd col;a to 3rd col
b to 1st col;b to 2nd col;b to 3rd col
Nun möchte ich aber auf bestimmte Spalten zugreifen und mir den zugehörigen Inhalt anzeigen lassen.
Nach meiner Recherche eignen sich dazu wohl hashmaps am besten.
Allerdings habe ich Schwierigkeiten, das Prinzip dieser Vorgehensweise zu verstehen.
Was ich bisher verstanden habe ist, dass ich einen 'key' definiere und diesem dann einen 'value' zuordne.
Ich weiß auch, dass der 'key' einzigartig sein muss.
Mein Hauptproblem in meiner Recherche ist, dass die meisten Beispiele davon ausgehen, die erste Spalte einer Tabelle als 'keys' zu definieren.
Ich benötige allerdings die Inhalte der ersten Zeile als 'keys' und möchte dann den jeweiligen Inhalt der Spalte komplett als 'value' diesem 'key' zuordnen.
Leider habe ich absolut keine Ahnung, wie ich nun zur Lösung meines Problems komme und hoffe hier auf den richtigen Ansatz oder vielleicht sogar eine gute Erklärung zur Nutzung und Funktionsweise von hashmaps.
Hier mal mein bisheriger Code:
Java:
private static void mapCsvFile(String file) {
try {
HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = reader.readLine();
String[] key = line.split(";");
line = reader.readLine();
for (int i = 0; i < key.length; i++) { // generates keys
ArrayList<String> list = new ArrayList<String>();
while (line != null) {
String[] tmp = line.split(";");
list.add(tmp[i]);
line = reader.readLine();
}
line = reader.readLine();
map.put(key[i], list);
}
reader.close();
System.out.println(map.get("1st column"));
} catch (IOException e) {
e.printStackTrace();
}
}
Wahrscheinlich werden jetzt viel Hände über vielen Köpfen zusammenschlagen.
Aber vielleicht kann man mir ja doch noch helfen.
Gruß Brian
Vielen Dank im Voraus. ;-)
Zuletzt bearbeitet: