w***@sunrise.ch
2017-05-13 13:01:58 UTC
Hallo zusammen
Ich habe ein Problem zu einem komplexeren HashMap. Der Output erfolgt nicht wie gewünscht aus mir unerklärbaren Gründen. Ich wäre sehr dankbar, wenn mir jemand helfen würde, ich stehe mit diesem Problem an.
Anmerkung: Es wurde bewusst nur eine einzige List Variable valSet verwendet und nicht deren zwei.
Der Output ist folgender:
-------------------------
Key = 1
Values = [Bat, Banana]
Key = 2
Values = [Bat, Banana]
Gewünschter Output ist jedoch folgender:
----------------------------------------
Key = 1
Values = [Apple, Aeroplane]
Key = 2
Values = [Bat, Banana]
********************* verwendetes Programm ****************************
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class HashMaps {
public static void main(String[] args) {
Map<Integer, List<String>> map = new HashMap<Integer, List<String>>();
List<String> valSet = new ArrayList<String>();
valSet.add("Apple");
valSet.add("Aeroplane");
map.put(1, valSet);
valSet.clear();
valSet.add("Bat");
valSet.add("Banana");
map.put(2, valSet);
for (Map.Entry<Integer, List<String>> entry : map.entrySet()) {
Integer key = entry.getKey();
List<String> values = entry.getValue();
System.out.println("Key = " + key);
System.out.println("Values = " + values );
}
}
}
Ich habe ein Problem zu einem komplexeren HashMap. Der Output erfolgt nicht wie gewünscht aus mir unerklärbaren Gründen. Ich wäre sehr dankbar, wenn mir jemand helfen würde, ich stehe mit diesem Problem an.
Anmerkung: Es wurde bewusst nur eine einzige List Variable valSet verwendet und nicht deren zwei.
Der Output ist folgender:
-------------------------
Key = 1
Values = [Bat, Banana]
Key = 2
Values = [Bat, Banana]
Gewünschter Output ist jedoch folgender:
----------------------------------------
Key = 1
Values = [Apple, Aeroplane]
Key = 2
Values = [Bat, Banana]
********************* verwendetes Programm ****************************
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class HashMaps {
public static void main(String[] args) {
Map<Integer, List<String>> map = new HashMap<Integer, List<String>>();
List<String> valSet = new ArrayList<String>();
valSet.add("Apple");
valSet.add("Aeroplane");
map.put(1, valSet);
valSet.clear();
valSet.add("Bat");
valSet.add("Banana");
map.put(2, valSet);
for (Map.Entry<Integer, List<String>> entry : map.entrySet()) {
Integer key = entry.getKey();
List<String> values = entry.getValue();
System.out.println("Key = " + key);
System.out.println("Values = " + values );
}
}
}