Java 8 中的 Collectors maxBy() 方法


Java 8 中 Collectors 类的 maxBy() 方法返回一个 Collector,该 Collector 根据给定的 Comparator 生成最大元素,用 Optional<T> 描述。

语法如下

static <T> Collector<T,?,Optional<T>> maxBy(Comparator<? super T> comparator)

此处,参数

  • T - 输入元素的类型
  • comparator - 用于比较元素
  • Options <T> - 一个容器对象,可以包含或不包含非空值

若要在 Java 中使用 Collectors 类,请导入以下程序包

import java.util.stream.Collectors;

下面是用 Java 实现 maxBy() 方法的一个示例

示例

 动态演示

import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Demo {
   public static void main(String[] args) {
      Stream<String> stream = Stream.of("4", "7", "25", "87");
      Optional<String> op = stream.collect(Collectors.maxBy(String::compareTo));
      if (op.isPresent()) {
         System.out.println(op.get());
      } else {
         System.out.println("Nothing!");
      }
   }
}

输出

87

更新于: 30-Jul-2019

2K+次浏览

开始你的 职业

通过完成课程获得认证

开始
广告
© . All rights reserved.