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");
Chcę zaktualizować wartości map1 tak, że ma dane:wartości aktualizowaniu mapy na podstawie innych mapie w Javie
- „K1”, „val1”
- "K2", "wart2"
- "K3", "val3"
Moje rozwiązanie:
for (Map.Entry<String, String> entry : map1.entrySet()) {
map1.put(entry.getKey(), map2.get(entry.getValue()));
}
Czy istnieje lepszy sposób to zrobić?
Edit: używam Java 7, ale ciekaw, czy istnieje lepszy sposób w Javie 8.
Niezupełnie, nie - chociaż wygląda na to, że powinieneś robić 'map3.put' zamiast' map1.put'? –
to jest java 8? w takim przypadku strumienie mogą ci pomóc. – njzk2
Powinieneś też robić 'map2.put' zamiast' map1.put' przy wypełnianiu 'map2.'. – Atri