在一个 Map<K,V>
中,我想知道有多少个唯一的 V
值。是否有类似于 getValueSet()
的东西,以便我可以获取此集合的大小? 以下是伪代码:
Map<K,V> myMap = ...//initiate Map;
Set<V> valueSet = myMap.getValueSet()
int numberUniqueB = valueSet.size();
很遗憾,没有getValueSet
方法。不过我可以像这样手动遍历列表:
Set<V> mySet = new HashSet<V>();
for(Map.Entry<K,V> entry : myMap.entrySet()){
V value = entry.getValue();
mySet.add(value);
}
int countUniqueB = mySet.size();
但是这似乎就像我在重新发明轮子。是否有Collections
或其他地方已经实现了我要找的功能?如果没有,是否有比我上面的方法更有效的方法来获得结果?