gpt4 book ai didi

java - 将 HashMap 转换为 HashMap

转载 作者:行者123 更新时间:2023-12-05 09:06:31 27 4
gpt4 key购买 nike

Collectors.counting()返回 long此方法中每个键的值:

private static Map<Integer, Long> countDuplicates(HashSet<Card> cards) {
return cards.stream().collect(Collectors.groupingBy(Card::getRankNumber, Collectors.counting()));
}

有没有办法转换或转换结果 Map来自 Map<Integer, Long>Map<Integer, Integer>

直接类型转换给出了这个异常(exception):

Type mismatch: cannot convert from Map<Integer,Integer> to Map<Integer,Long>

注意:我的类的实现保证cards里面有五个对象,所以不可能溢出。

最佳答案

尝试以下操作:

private static Map<Integer, Integer> countDuplicates(HashSet<Card> cards) {
return cards.stream()
.collect(Collectors.groupingBy(Card::getRankNumber, Collectors.summingInt(x -> 1)));
}

使用 Collectors.summingInt(x -> 1) 代替 Collectors.counting(),这样您可以立即获得整数值。

关于java - 将 HashMap<Integer, Long> 转换为 HashMap<Integer, Integer>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65910153/

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