我试图将数据从2个哈希映射打印到控制台,但我注意到那里只描绘了一个。这是一个代码示例:
public class HashMapsmathces {
public static void main(String[] args) throws Exception {
Map<String, Object> hm1 = new HashMap<>();
hm1.put("id", 1);
hm1.put("sku","qazwsx");
hm1.put("price", 11);
printMaps(hm1);
Map<String, Object> hm2 = new HashMap<>();
hm1.put("id", 2);
hm1.put("sku","qazwsx");
hm1.put("price", 13);
printMaps(hm2);
}
public static void printMaps(Map<String, Object> map)
{
for (Map.Entry<String, Object> pair : map.entrySet())
{
String key = pair.getKey();
String value = pair.getValue().toString();
System.out.println(key + " : " + value);
}
}
}
所以,当我按下&#34; Run&#34;只有hm1
才会被推送到控制台。我不太清楚为什么。
这里也有截图 enter image description here
感谢。
答案 0 :(得分:4)
多数民众赞成因为hm2是空的,你在声明hm2 map之后将值重新分配给hm1。
public class HashMapsmathces {
public static void main(String[] args) throws Exception {
Map<String, Object> hm1 = new HashMap<>();
hm1.put("id", 1);
hm1.put("sku","qazwsx");
hm1.put("price", 11);
printMaps(hm1);
Map<String, Object> hm2 = new HashMap<>();
hm2.put("id", 2);
hm2.put("sku","qazwsx");
hm2.put("price", 13);
printMaps(hm2);
}
public static void printMaps(Map<String, Object> map)
{
//напишите тут ваш код
for (Map.Entry<String, Object> pair : map.entrySet())
{
String key = pair.getKey();
String value = pair.getValue().toString();
System.out.println(key + " : " + value);
}
}
}
答案 1 :(得分:1)
您确实打印了两张地图。但hm2
为空。 (您只能添加到hm1
。)