gpt4 book ai didi

java - 流<字符串> 到映射<字符串、整数>

转载 作者:行者123 更新时间:2023-12-01 11:36:26 29 4
gpt4 key购买 nike

我有一个Stream<String>一个文件的,现在我想将相同的单词组合成 Map<String, Integer>这很重要,这个词在 Stream<String> 中出现的频率.

我知道我必须使用 collect(Collectors.groupingBy(..)) ,但我不知道如何使用它。

如果有人可以提供一些如何解决这个问题的提示,那就太好了!

最佳答案

创建 Map<String, Long> 非常容易使用Collectors.counting()作为下游收集器:

Stream<String> s = Stream.of("aaa", "bb", "cc", "aaa", "dd");

Map<String, Long> map = s.collect(Collectors.groupingBy(
Function.identity(), Collectors.counting()));

如果你不喜欢Long输入,您可以数到Integer这样:

Map<String, Integer> mapInt = s.collect(Collectors.groupingBy(
Function.identity(),
Collectors.reducing(0, str -> 1, Integer::sum)));

关于java - 流<字符串> 到映射<字符串、整数>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29940842/

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