Pooja Verma:
Eu preciso mesclar vários 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
}
}
Resultado esperado
{"41666":
{"oyo_id":"KSD900",
"contracted_rooms":31,
"status":"live"
},
"41667":
{"oyo_id":"JGH900",
"contracted_rooms":3,
"status":"live"
}
}
O que eu tentei:
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);
Mas isso está substituindo valores de map2 em map2.
Andronicus:
Aqui é uma implementação exemplar:
map2.forEach((key, value) -> {
AssignedPropertiesResponse r = map1.get(key);
if(r != null) r.setContracted_rooms_count(value.getContracted_rooms_count());
});
PS: nomes de variáveis são escritos com camelCase em java.