Map<String, String> map1 = new HashMap<>();
map1.put("k1", "v1");
map1.put("k2", "v2");
map1.put("k3", "v3");
Map<String, String> map2 = new HashMap<>();
map2.put("v1", "val1");
map2.put("v2", "val2");
map2.put("v3", "vav3");
Tôi muốn cập nhật giá trị của map1 để nó có mục:giá trị cập nhật trong Bản đồ trên cơ sở bản đồ khác trong Java
- "k1", "VAL1",
- "k2", "VAL2",
- "k3", "val3"
giải pháp của tôi:
01.for (Map.Entry<String, String> entry : map1.entrySet()) {
map1.put(entry.getKey(), map2.get(entry.getValue()));
}
Có cách nào tốt hơn để thực hiện việc này không?
Edit: Tôi đang sử dụng Java 7 nhưng tò mò muốn biết nếu có bất kỳ cách nào tốt hơn trong Java 8.
Không thực sự, không - mặc dù có vẻ như bạn nên làm 'map3.put' thay vì' map1.put'? –
là java 8 này? trong trường hợp đó, các luồng có thể giúp bạn. – njzk2
Ngoài ra, bạn nên làm 'map2.put' thay vì' map1.put' khi điền vào 'map2'. – Atri