gpt4 book ai didi

Java:计算 map 中的唯一值

转载 作者:行者123 更新时间:2023-11-29 07:42:41 25 4
gpt4 key购买 nike

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里面有什么东西吗或其他地方已经做了我正在寻找的东西?如果没有,是否有比我上面的方法更有效的方法来获得结果?

最佳答案

Java 8 已经有一段时间了:

int count = myMap.values().stream().distinct().count();

关于Java:计算 map 中的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28755877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com