【发布时间】:2016-06-22 04:56:09
【问题描述】:
我有两个地图,我需要比较它们并将它们合并到一个结果地图中。我需要删除所有具有相同键或相同值的元素。
基本上,假设我有两个地图:
Map<String, String> map1 = new HashMap<>();
map1.put("1", "A");
map1.put("2", "A");
map1.put("3", "B");
map1.put("4", "C");
map1.put("5", "D");
map1.put("6", "E");
Map<String, String> map2 = new HashMap<>();
map2.put("1", "B");
map2.put("2", "A");
map2.put("4", "F");
map2.put("6", "C");
map2.put("7", "G");
map2.put("8", "H");
我需要删除所有具有相同键或相同值的条目,并且只需要保留双向唯一条目。所以合并后,我需要有以下结果映射,其中每个键映射到一个唯一值,每个值都有一个唯一键:
("5", "D"), ("7", "G"), ("8", "H")
在 Java 中最好的方法是什么?
【问题讨论】: