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中使用重複排列數組,重複使用
什麼是您的文件格式?而重複的字數,它只是對於輸入中的每個單詞,發生的次數?要麼…? –