Pooja Verma:
Je dois fusionner plusieurs HashMap
s
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
}
}
Résultat attendu
{"41666":
{"oyo_id":"KSD900",
"contracted_rooms":31,
"status":"live"
},
"41667":
{"oyo_id":"JGH900",
"contracted_rooms":3,
"status":"live"
}
}
Ce que j'ai essayé:
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);
Mais cela est de map2 valeurs en écrasant dans map2.
Andronicus:
Voici un exemple de réalisation:
map2.forEach((key, value) -> {
AssignedPropertiesResponse r = map1.get(key);
if(r != null) r.setContracted_rooms_count(value.getContracted_rooms_count());
});
PS: Les noms des variables sont écrits avec camelCase en java.