举例1:使用Java的流式API从学生列表中获取前十名学生的姓名
举例2:使用流式API和传统循环分别对一个数组进行求和
举例3:统计一个文本文件中单词的出现次数
举例4:统计一段文本中单词的出现次数
——代码举例分析(统计一段文本中单词的出现次数)
假设有一段文本,我们需要统计其中每个单词的出现次数。可以使用Java的流式API来实现。具体代码如下:
String text = "hello world hello java hello world";
List<String> words = Arrays.asList(text.split(" "));
Map<String, Integer> wordCount = words.stream()
.collect(Collectors.toMap(Function.identity(), w -> 1, Integer::sum));
System.out.println(wordCount);
运行结果为:
{java=1, world=2, hello=3}
- 代码分析
首先,将文本以空格为分隔符拆分成单词列表。然后,将单词列表转换成流,并使用Collectors.toMap
方法将单词及其出现次数存储到一个Map中。该方法接收三个参数:第一个参数是Function.identity(),表示将单词本身作为键;第二个参数表示初始化键对应的值为1;第三个参数表示将相同键的值相加。最后,将Map输出到控制台上。