【发布时间】:2019-03-26 03:30:19
【问题描述】:
我有一个文本文件,我想检查一下
- 文件中的总字数
- 文件中的总元音计数
- 文件中的总特殊字符
通过使用 Java 8 流。
如果可能,我希望在单次迭代中输出为地图,即
{"totalWordCount":10,"totalVowelCount":10,"totalSpecialCharacter":10}
我试过下面的代码
Long wordCount=Files.lines(child).parallel().flatMap(line -> Arrays.stream(line.trim().split(" ")))
.map(word -> word.replaceAll("[^a-zA-Z]", "").toLowerCase().trim())
.filter(word -> !word.isEmpty())
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting())).values().stream().reduce(0L, Long::sum)
但它只给了我总字数,我在想是否有可能返回一个包含上述输出和所有字数的单个地图。
【问题讨论】:
-
仅要求的问题通常不会在此站点上很好地收到。 SO 是针对特定的编程问题,关于已经存在的代码。如果有,请附上您当前的解决方案。
-
而您已经尝试了 what 并被卡在 where 因为 something 不起作用?
-
作为已经在 StackOverflow 上收集了 300 多个声誉的人,我很惊讶您没有意识到请求列表不是问题。请包括您的解决方案以及您在该解决方案中遇到的问题。
-
小伙伴们我已经更新了,请检查..
-
请删除保留标签我已经更新了我的问题
标签: java lambda java-8 java-stream