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");
voglio aggiornare i valori di map1 in modo che abbia le voci:Valori aggiornamento nel mappa sulla base di altra mappa in Java
- "K1", "val1",
- "k2", "val2", "K3", "val3"
La mia soluzione:
for (Map.Entry<String, String> entry : map1.entrySet()) {
map1.put(entry.getKey(), map2.get(entry.getValue()));
}
C'è un modo migliore per farlo?
Edit: Sto usando Java 7, ma curioso di sapere se esiste un modo migliore in Java 8.
Non proprio, no, anche se sembra che dovresti fare 'map3.put' invece di' map1.put'? –
è questo java 8? in tal caso, i flussi possono aiutarti. – njzk2
Inoltre, si dovrebbe fare 'map2.put' invece di' map1.put' quando si popola 'map2'. – Atri