我需要合并多个HashMap小号
map1:
{"41666":
{"oyo_id":"KSD900",
"contracted_rooms":null,
"status":"live"
},
"41667":
{"oyo_id":"JGH900",
"contracted_rooms":null,
"status":"live"
}
}
map2:
{"41666":
{"oyo_id":null,
"contracted_rooms":31,
"status":null
},
"41667":
{"oyo_id":null,
"contracted_rooms":3,
"status":null
}
}
预期结果
{"41666":
{"oyo_id":"KSD900",
"contracted_rooms":31,
"status":"live"
},
"41667":
{"oyo_id":"JGH900",
"contracted_rooms":3,
"status":"live"
}
}
我尝试过的
AssignedPropertiesResponse:
@JsonProperty("oyo_id")
private String oyoId;
@JsonProperty("status")
private String status;
@JsonProperty("contractedRoomsCount")
private Double contracted_rooms_count;
AssignedPropertiesResponseList:
HashMap<String, AssignedPropertiesResponse>
map1.putAll(map2);
但这是将map2的值覆盖到map2中。
问题来源:Stack Overflow
这是一个示例性的实现:
map2.forEach((key, value) -> {
AssignedPropertiesResponse r = map1.get(key);
if(r != null) r.setContracted_rooms_count(value.getContracted_rooms_count());
});
PS:变量名称是用camelCase用Java编写的。
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。