Java 8 中的 Collectors maxBy() 方法

java 8object oriented programmingprogramming更新于 2024/10/16 20:15:00

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

相关文章