1.下列代码的运行结果是? HashMap map = new HashMap(); map.put(“name”,null); map.put(“name”,”xiyangyang”); System.out.println(map.get(“name”));
时间: 2023-05-18 07:05:24 浏览: 44
运行结果是 "xiyangyang"。
HashMap 允许 key 为 null,所以第一次 put 操作将 null 作为 key 存入 map 中。第二次 put 操作将 "name" 作为 key 存入 map 中,对应的 value 为 "xiyangyang"。由于 key 不能重复,第二次 put 操作会覆盖第一次的操作。最后,get 方法根据 key "name" 获取对应的 value,即 "xiyangyang"。
相关问题
java.util.HashMap map = new java.util.HashMap(); map.put("name", null); map.put("name", "Jack"); System.out.println(map.get("name"));
在这段代码中,首先创建了一个 `java.util.HashMap` 对象 `map`。然后,使用 `put` 方法向 `map` 中添加键值对。第一个 `put` 操作将键 `"name"` 对应的值设为 `null`,第二个 `put` 操作将键 `"name"` 对应的值更新为 `"Jack"`。
最后,使用 `get` 方法从 `map` 中获取键 `"name"` 对应的值,并将其打印输出。由于第二个 `put` 操作将键 `"name"` 对应的值更新为 `"Jack"`,因此最终打印输出的结果是 `"Jack"`。
优化这段代码:private List<DynamicSource> getDynamicSourceList(List<DasymesQltyMpCertfInfoItemMod> itemModList) { List<Map<String, String>> mapList = new ArrayList<>(); if (itemModList == null || itemModList.size() == 0) { Map<String, String> map = new HashMap<>(); map.put("no", null); map.put("name", null); map.put("portion", null); mapList.add(map); return DynamicSource.createList("detail", mapList); } for (int i = 1; i <= itemModList.size(); i++) { DasymesQltyMpCertfInfoItemMod item = itemModList.get(i - 1); Map<String, String> map = new HashMap<>(); map.put("no", i + ""); map.put("name", item.getItemName()); map.put("portion", item.getPortion()); mapList.add(map); } return DynamicSource.createList("detail", mapList); }
可以使用Java 8的Stream API来重写这段代码,代码如下:
```
private List<DynamicSource> getDynamicSourceList(List<DasymesQltyMpCertfInfoItemMod> itemModList) {
List<Map<String, String>> mapList = Optional.ofNullable(itemModList)
.orElseGet(Collections::emptyList)
.stream()
.map(item -> {
Map<String, String> map = new HashMap<>();
map.put("no", String.valueOf(itemModList.indexOf(item) + 1));
map.put("name", item.getItemName());
map.put("portion", item.getPortion());
return map;
})
.collect(Collectors.toList());
if (mapList.isEmpty()) {
Map<String, String> map = new HashMap<>();
map.put("no", null);
map.put("name", null);
map.put("portion", null);
mapList.add(map);
}
return DynamicSource.createList("detail", mapList);
}
```
这里使用了Optional来避免对空List进行null检查,使用Stream API来处理List数据并返回一个新的List。同时将代码中的循环和判断合并到了一起,使代码更加简洁易读。