Juh*_*o M 2 java arrays java-8 java-stream
如何使用数组流计算字符串中的字频?我正在使用Java 8.
这是我的代码:
String sentence = "The cat has black fur and black eyes";
String[] bites = sentence.trim().split("\\s+");
String in = "black cat";
Run Code Online (Sandbox Code Playgroud)
计算句子中的单词"black"和"cat"频率.单词"黑色"频率为2,单词"cat"为1.
那么目标输出就是3.
怎么样
Map<String, Long> counts = yourStringStream
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
Run Code Online (Sandbox Code Playgroud)
这将为您提供从所有单词到其频率计数的映射.
Map<String, Long> count = Arrays.stream(bites)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
Run Code Online (Sandbox Code Playgroud)