我制作了一个应用程序,在给定关键字时打印 500 条最新推文,例如“猫”。
我想使用带有正则表达式的 String.split()
拆分推文中的所有单词,然后使用 HashMap
存储每个单词并使用循环增加每个单词的整数值,每次在推文中提到它。
最佳答案
您可以使用 Java 8 Streams:
String[] words = tweetText.split(" ");
Map<String, Integer> wordCount = Arrays.stream(words)
.collect(Collectors.toMap(word -> word, word -> 1, Integer::sum));
如果你想不区分大小写:
Map<String, Integer> wordCount = Arrays.stream(words)
.map(String::toLowerCase)
.collect(Collectors.toMap(word -> word, word -> 1, Integer::sum));
仅查找特定单词:
Map<String, Integer> wordCount = Arrays.stream(words)
.map(String::toLowerCase)
.filter(word -> wordsToMatch.contains(word))
.collect(Collectors.toMap(word -> word, word -> 1, Integer::sum));
其中,wordsToMatch 可以是您要查找的单词的集合或列表。
关于Java - 推文计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36015870/