@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()就可以