Ich habe folgenden Code geschrieben:
[code=Java]
Iterator huelleIter = huelle.keySet().iterator();
while (huelleIter.hasNext()) {
String key1 = huelleIter.next().toString();
Iterator zwischenschichtIter = huelle.get(key1).keySet().iterator();
while (zwischenschichtIter.hasNext()) {
String key2 = zwischenschichtIter.next().toString();
Iterator innenIter = zwischenschicht.get(key2).keySet().iterator();
while (innenIter.hasNext()) {
String key3 = innenIter.next().toString();
String[] value = innen.get(key3);
System.out.println("["+key1+"]["+key2+"]["+key3+"]["+value[0]+"]["+value[1]+"]");
}
}
}
[/code]
aber leider bekomme ich diese Ausgabe:
[code=Java]
[Key1_2][Key2_4][Key3_1][data1_1][data2_1][data3_1]
[Key1_2][Key2_4][Key3_2][data1_2][data2_2][data3_2]
[Key1_2][Key2_4][Key3_3][data1_3][data2_3][data3_3]
[Key1_2][Key2_4][Key3_4][data1_4][data2_4][data3_4]
[Key1_2][Key2_2][Key3_1][data1_1][data2_1][data3_1]
[Key1_2][Key2_2][Key3_2][data1_2][data2_2][data3_2]
[Key1_2][Key2_2][Key3_3][data1_3][data2_3][data3_3]
[Key1_2][Key2_2][Key3_4][data1_4][data2_4][data3_4]
[Key1_2][Key2_3][Key3_1][data1_1][data2_1][data3_1]
[Key1_2][Key2_3][Key3_2][data1_2][data2_2][data3_2]
[Key1_2][Key2_3][Key3_3][data1_3][data2_3][data3_3]
[Key1_2][Key2_3][Key3_4][data1_4][data2_4][data3_4]
[Key1_2][Key2_1][Key3_1][data1_1][data2_1][data3_1]
[Key1_2][Key2_1][Key3_2][data1_2][data2_2][data3_2]
[Key1_2][Key2_1][Key3_3][data1_3][data2_3][data3_3]
[Key1_2][Key2_1][Key3_4][data1_4][data2_4][data3_4]
[Key1_1][Key2_4][Key3_1][data1_1][data2_1][data3_1]
[Key1_1][Key2_4][Key3_2][data1_2][data2_2][data3_2]
[Key1_1][Key2_4][Key3_3][data1_3][data2_3][data3_3]
[Key1_1][Key2_4][Key3_4][data1_4][data2_4][data3_4]
[Key1_1][Key2_2][Key3_1][data1_1][data2_1][data3_1]
[Key1_1][Key2_2][Key3_2][data1_2][data2_2][data3_2]
[Key1_1][Key2_2][Key3_3][data1_3][data2_3][data3_3]
[Key1_1][Key2_2][Key3_4][data1_4][data2_4][data3_4]
[Key1_1][Key2_3][Key3_1][data1_1][data2_1][data3_1]
[Key1_1][Key2_3][Key3_2][data1_2][data2_2][data3_2]
[Key1_1][Key2_3][Key3_3][data1_3][data2_3][data3_3]
[Key1_1][Key2_3][Key3_4][data1_4][data2_4][data3_4]
[Key1_1][Key2_1][Key3_1][data1_1][data2_1][data3_1]
[Key1_1][Key2_1][Key3_2][data1_2][data2_2][data3_2]
[Key1_1][Key2_1][Key3_3][data1_3][data2_3][data3_3]
[Key1_1][Key2_1][Key3_4][data1_4][data2_4][data3_4]
[Key1_4][Key2_4][Key3_1][data1_1][data2_1][data3_1]
[Key1_4][Key2_4][Key3_2][data1_2][data2_2][data3_2]
[Key1_4][Key2_4][Key3_3][data1_3][data2_3][data3_3]
[Key1_4][Key2_4][Key3_4][data1_4][data2_4][data3_4]
[Key1_4][Key2_2][Key3_1][data1_1][data2_1][data3_1]
[Key1_4][Key2_2][Key3_2][data1_2][data2_2][data3_2]
[Key1_4][Key2_2][Key3_3][data1_3][data2_3][data3_3]
[Key1_4][Key2_2][Key3_4][data1_4][data2_4][data3_4]
[Key1_4][Key2_3][Key3_1][data1_1][data2_1][data3_1]
[Key1_4][Key2_3][Key3_2][data1_2][data2_2][data3_2]
[Key1_4][Key2_3][Key3_3][data1_3][data2_3][data3_3]
[Key1_4][Key2_3][Key3_4][data1_4][data2_4][data3_4]
[Key1_4][Key2_1][Key3_1][data1_1][data2_1][data3_1]
[Key1_4][Key2_1][Key3_2][data1_2][data2_2][data3_2]
[Key1_4][Key2_1][Key3_3][data1_3][data2_3][data3_3]
[Key1_4][Key2_1][Key3_4][data1_4][data2_4][data3_4]
[Key1_3][Key2_4][Key3_1][data1_1][data2_1][data3_1]
[Key1_3][Key2_4][Key3_2][data1_2][data2_2][data3_2]
[Key1_3][Key2_4][Key3_3][data1_3][data2_3][data3_3]
[Key1_3][Key2_4][Key3_4][data1_4][data2_4][data3_4]
[Key1_3][Key2_2][Key3_1][data1_1][data2_1][data3_1]
[Key1_3][Key2_2][Key3_2][data1_2][data2_2][data3_2]
[Key1_3][Key2_2][Key3_3][data1_3][data2_3][data3_3]
[Key1_3][Key2_2][Key3_4][data1_4][data2_4][data3_4]
[Key1_3][Key2_3][Key3_1][data1_1][data2_1][data3_1]
[Key1_3][Key2_3][Key3_2][data1_2][data2_2][data3_2]
[Key1_3][Key2_3][Key3_3][data1_3][data2_3][data3_3]
[Key1_3][Key2_3][Key3_4][data1_4][data2_4][data3_4]
[Key1_3][Key2_1][Key3_1][data1_1][data2_1][data3_1]
[Key1_3][Key2_1][Key3_2][data1_2][data2_2][data3_2]
[Key1_3][Key2_1][Key3_3][data1_3][data2_3][data3_3]
[Key1_3][Key2_1][Key3_4][data1_4][data2_4][data3_4]
[/code]
anstatt die folgend richtige Ausgabe:
[code=Java]
[Key1_1][Key2_1][Key3_1][data1_1][data2_1][data3_1]
[Key1_2][Key2_2][Key3_2][data1_2][data2_2][data3_2]
[Key1_3][Key2_3][Key3_3][data1_3][data2_3][data3_3]
[Key1_4][Key2_4][Key3_4][data1_4][data2_4][data3_4]
[/code]
Der komplette Code sieht wie folgt aus:
[code=Java]
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
public class HashMapKey {
public static void main(String[] args) throws FileNotFoundException, IOException {
String fastaFile = "inputData.txt";
BufferedReader br = new BufferedReader(new FileReader(fastaFile));
HashMap<String, HashMap<String, HashMap<String, String[]>>> huelle =
new HashMap<String, HashMap<String, HashMap<String, String[]>>>();
HashMap<String, HashMap<String, String[]>> zwischenschicht =
new HashMap<String, HashMap<String, String[]>>();
HashMap<String, String[]> innen =
new HashMap<String, String[]>();
String strLine;
while ((strLine = br.readLine()) != null) {
String[] line = strLine.replaceAll(" ", "").trim().split(",");
for (int i = 0; i < line.length; i++) {
System.out.print("[" + line[i] + "]");
}
innen.put(line[2], new String[]{line[3], line[4], line[5]});
zwischenschicht.put(line[1], innen);
huelle.put(line[0], zwischenschicht);
System.out.println();
}
System.out.println();
Iterator huelleIter = huelle.keySet().iterator();
while (huelleIter.hasNext()) {
String key1 = huelleIter.next().toString();
Iterator zwischenschichtIter = huelle.get(key1).keySet().iterator();
while (zwischenschichtIter.hasNext()) {
String key2 = zwischenschichtIter.next().toString();
Iterator innenIter = zwischenschicht.get(key2).keySet().iterator();
while (innenIter.hasNext()) {
String key3 = innenIter.next().toString();
String[] value = innen.get(key3);
System.out.println("["+key1+"]["+key2+"]["+key3+"]["+value[0]+"]["+value[1]+"]["+value[2]+"]");
}
}
}
}
}
[/code]
Was habe ich falsch gemacht?