小弟java刚入门,想请教大家:
Map map = new HashMap();
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value1");
map.put("key4","value1"); 小弟想把value相同的所有key合并成一个字符串,
比如值为value1对应的所有key为:"key1" + "key3" + "key4"
值为value2对应的所有key就只有"key2"
请问这如何实现,多谢大家了!
Map map = new HashMap();
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value1");
map.put("key4","value1"); 小弟想把value相同的所有key合并成一个字符串,
比如值为value1对应的所有key为:"key1" + "key3" + "key4"
值为value2对应的所有key就只有"key2"
请问这如何实现,多谢大家了!
比较value相等就连接key
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value1");
map.put("key4", "value1"); Map<String, String> map2 = new HashMap<String, String>(); for (Map.Entry<String, String> entry : map.entrySet()) {
String value = map2.get(entry.getValue());
if (value == null) {
value = entry.getKey();
} else {
value = value + ", " + entry.getKey();
}
map2.put(entry.getValue(), value);
} // 输出结果
for (Map.Entry<String, String> entry : map2.entrySet()) {
System.out.println(entry.getKey() + " --> " + entry.getValue());
}
}
学习