@Test
public void test7(){
Map<String,Long> freq=new HashMap<>();
freq.put("1",1L);
freq.put("2",1L);
freq.put("3",1L);
freq.put("4",2L);
freq.put("5",2L);
freq.put("6",3L);
freq.put("7",4L);
List<String> topTen =freq.keySet().stream()
.sorted(Comparator.comparing(freq::get))
.limit(2)
.collect(Collectors.toList());
topTen.forEach(System.out::println);
有限制方法引用freq::get在频率表中查找单词,并返回改单词在文件中出现的次数(从高向低排序)
结果返回为 :1 2
如果想从第向高排序,只需要
Comparator.comparing(freq::get).reversed()就可以

本文深入探讨了Java Stream API的高级用法,通过实例演示如何利用Stream API进行Top N元素的高效筛选。文章展示了如何使用Comparator.comparing方法结合HashMap,对单词出现频率进行从高到低的排序,并提取前N个高频单词。
7308

被折叠的 条评论
为什么被折叠?



