Hallo zusammen,
ich stehe vor einem seltsamen Problem.
Wenn ich Werte aus der äußeren Map auslese, so sind die Keys nicht in der Rheinfolge, in der ich sie einlesen habe.
Will ich dann Value aulesen (was eine Map darstellt), so hat es keine Werte.
All das passiert, obwohl beim Einlesen alles richtig abläuft.
Wieso kann ich nicht das auslesen, was ich eingelesen hab?
Danke für die Aufklärung.
ich stehe vor einem seltsamen Problem.
Wenn ich Werte aus der äußeren Map auslese, so sind die Keys nicht in der Rheinfolge, in der ich sie einlesen habe.
Will ich dann Value aulesen (was eine Map darstellt), so hat es keine Werte.
All das passiert, obwohl beim Einlesen alles richtig abläuft.
Java:
public class meineKlasse {
HashMap<String, HashMap> mapA;
HashMap<String, String> mapB;
//Einlesen attributeList hat schon Werte:
for (Object obj: attributeList) {
Attribute attr = (Attribute) obj;
mapB.put(attr.getName(), attr.getValue());
}
this.mapA.put(name, this.mapB);
this.mapB.clear();
//Auslesen....falsche Rheinfolge in der äußeren Map, die innere Map ist leer:
private void Funktion() {
for (HashMap.Entry<String, HashMap> entrySet: mapA.entrySet()) {
System.out.println("Äusere Map: " + entrySet.getKey());
HashMap<String, String > value = entrySet.getValue(); //Hole die innere mapB
for (HashMap.Entry<String, String> entry: value.entrySet()) {
System.out.println("jeweiliger Schluessel von mapB: " + entry.getKey() + "jeweiliger Wert von mapB: " + entry.getValue());
}
}
}
}
Wieso kann ich nicht das auslesen, was ich eingelesen hab?
Danke für die Aufklärung.
Zuletzt bearbeitet von einem Moderator: