我想在 HashMap
中显示值。 A HashMap
可能有重复值(但不是重复键),但我只想显示一次值。
所以我应该找出 Map
是否有重复值。我知道我们可以迭代 Map
并使用 map.containsValue(value)
的返回布尔值。我想知道是否存在任何方法可以在地图中查找重复值,或者我们应该自己编写代码吗?
原文由 Silambarasan 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想在 HashMap
中显示值。 A HashMap
可能有重复值(但不是重复键),但我只想显示一次值。
所以我应该找出 Map
是否有重复值。我知道我们可以迭代 Map
并使用 map.containsValue(value)
的返回布尔值。我想知道是否存在任何方法可以在地图中查找重复值,或者我们应该自己编写代码吗?
原文由 Silambarasan 发布,翻译遵循 CC BY-SA 4.0 许可协议
例子:
Map<Object, Object> map = new HashMap<Object, Object>();
map.put(1,2);
map.put(3,4);
map.put(2,2);
map.put(5,3);
Set<Object> uniqueValues = new HashSet<Object>(map.values());
System.out.println(uniqueValues);
输出:
[2, 3, 4]
原文由 Adriaan Koster 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.6k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
一个简单的解决方案是将值列表的大小与值集进行比较。