gpt4 book ai didi

java - 如何在枚举映射中初始化计数?

转载 作者:行者123 更新时间:2023-11-29 06:59:03 25 4
gpt4 key购买 nike

问题:我想要生成的 map 包含所有可用的 enums , 如果在迭代列表中没有找到,则使用 long = 0 进行预初始化.

List<Basket> basket;

Map<TypeOfGoods, Long> counts = basket.stream
.collect(Collectors.groupingBy(Basket::getGoodsType, Collectors.counting()));

enum TypeOfGoods {
FRUITS, TOYS;
}

在此示例中,映射将仅包含实际在篮子中找到的类型,但缺少任何其他枚举。我怎样才能包括这些?

最佳答案

尝试:

Map<TypeOfGoods, Long> counts = Arrays.stream(TypeOfGoods.values())
.collect(Collectors.toMap(identity(), x -> 0L));
counts.putAll(basket.stream
.collect(Collectors.groupingBy(Basket::getGoodsType, Collectors.counting()));

关于java - 如何在枚举映射中初始化计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29239841/

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