到目前为止,我已经想出如何显示所有要显示的单词,以及指示每个唯一单词在文本中出现的次数的数字。但是,我无法弄清楚如何获得另一个列表,该列表显示仅出现4次或更多次的所有唯一单词。关于如何实现这一点的任何想法,因为我认为我已经在这里做了很多努力,但我想知道我如何能够获得下一部分。
答案 0 :(得分:2)
使用Java 8,您可以使用流和按值过滤:
System.out.println("List of unique word occurrences: " +
countOcc.entrySet().stream()
.filter(e -> e.getValue() >= 4)
.collect(Collectors.toMap(p -> p.getKey(), p -> p.getValue()));
或者不是收集到另一张地图而是打印出来或收集到List中:
.map(e -> e.getKey())
.collect(Collectors.toList());
答案 1 :(得分:1)
假设您使用的是Java 8,您可以根据文本中出现的次数按如下方式过滤countOcc
地图中的条目。最后,我打印了过滤后的结果。
countOcc.entrySet().stream()
.filter(entry->entry.getValue()>=4)
.forEach(entry->System.out.println(entry.getKey()))