gpt4 book ai didi

java - 使用 java 8 转换数组列表 -> 映射

转载 作者:行者123 更新时间:2023-12-02 03:43:38 25 4
gpt4 key购买 nike

我一直在尝试弄清楚如何使用 java 8 流来创建一个 map ,就像下面的 getCardValueCountMap 方法创建的 map 一样:

public class Hand {
private final List<Card> hand = new ArrayList<>();
.....
public Map<CardValue, Integer> getCardValueCountMap(){
HashMap<CardValue, Integer> cardValueCountMap = new HashMap<>();
for (Card card : hand) {
final CardValue value = card.getValue();
Integer count = cardValueCountMap.get(value);
if (count == null){
cardValueCountMap.put(value, 1);
} else {
cardValueCountMap.put(value, count + 1);
}
}
return cardValueCountMap;
}
....
}

最佳答案

这不使用流,因此并不能真正回答您的问题,但在我看来,最简洁的方法是利用 Map 界面的改进。

HashMap<CardValue, Integer> map = new HashMap<>();
for (Card card : hand)
map.merge(card.getValue(), 1, Integer::sum);

关于java - 使用 java 8 转换数组列表 -> 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36554692/

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