2
A
回答
1
如果你已经拥有的所有的单词的列表,说List<String> words
那么你可以使用这样的:
Map<String, Integer> counts = words.parallelStream().
collect(Collectors.toConcurrentMap(
w -> w, w -> 1, Integer::sum));
5
我不知道是否有最好的方法,它也取决于你没有告诉我们的细节。现在我假设一个文本文件在每行上有许多用空格分隔的单词。一种可能的方法是:
Map<String, Long> result = Files.lines(filePath)
.flatMap(line -> Stream.of(line.split(" ")))
.collect(Collectors.groupingBy(word -> word, Collectors.counting()));
我认为将每行分解为单词需要细化;例如,您可能会想要放弃标点符号。以此为出发点,并将其发展成您在特定情况下需要的东西。
编辑:以感谢@ 4castle为灵感,分裂成的话,可以在你这样做的话更喜欢一个lambda方法参考:
Map<String, Long> result = Files.lines(filePath)
.flatMap(Pattern.compile(" ")::splitAsStream)
.collect(Collectors.groupingBy(word -> word, Collectors.counting()));
它产生相同的。编辑2:关于优化的废话在这里删除。
也许我们不应该在这里走得太远,直到我们知道每行中定义单词的更确切的要求。
+2
对于初学者来说,split可以是'.flatMap(Pattern.compile(“”):: splitAsStream)' – 4castle
相关问题
- 1. 在大文件中找到重复的行Java
- 2. 在大文件中查找重复的字符串
- 3. 在大数字列中查找重复(如文本)
- 4. 在Java中,从文件列表中删除重复的文件
- 5. 检查int中的重复数字[] Java
- 6. 计数在文件perl中重复的字符串次数
- 7. Java删除文件搜索字符串数组的重复[0]
- 8. 文件夹中的重复文字?
- 9. 在大型数据库中删除java中的重复项
- 10. Python:删除重复字符,但字节中的文件大小仍在增加
- 11. 在BASH中重复文件
- 12. 在YAML文件中重复
- 13. 在大文本文件中查找重复记录
- 14. Java - 没有重复的数字数组
- 15. 计算字符串在文件中重复的次数?
- 16. 在文件中查找重复的数字(C++)
- 17. 避免在使用java的文本文件中重复输出?
- 18. Java数组印刷重复的数字,阵列在阵列中
- 19. 在2x2数组中找到重复的数字。 (Java)
- 20. 反向整数在java中没有重复数字
- 21. 在java数组中不重复的随机数字
- 22. JAVA中的数组,重复?
- 23. 从大文件中删除重复文件
- 24. 为什么文件大小会重复?
- 25. 在Java数组中重复值的indexOf()
- 26. 在Java中重复数据包?
- 27. 在排序的java数组中重复
- 28. 在大文本文件(java)中搜索
- 29. 如何在一段文字中重复每个单独的字母?在Java中
- 30. 在Java中使用重复排列数组,重复使用
什么是您的文件格式?而重复的字数,它只是对于输入中的每个单词,发生的次数?要么…? –