Java8利用stream lambda查询map中最大value及对应key

时间:2025-04-21 08:06:07
//第一种方法 Optional<Map.Entry<String, Integer>> max0 = map.entrySet().stream().max(Map.Entry.comparingByValue()); //第二种方法 Optional<Map.Entry<String, Integer>> max1 = map.entrySet().stream().max((x1, x2) -> Integer.compare(x1.getValue(), x2.getValue())); //第三种方法 Optional<Map.Entry<String, Integer>> max3 = map.entrySet().stream().collect(Collectors.maxBy(Map.Entry.comparingByValue())); //第四种方法 Optional<Map.Entry<String, Integer>> max4 = map.entrySet().stream().max(Comparator.comparingInt(Map.Entry::getValue)); //第五种方法 IntSummaryStatistics max5 = map.entrySet().stream().collect(Collectors.summarizingInt(Map.Entry::getValue));