Java 8中的收集器maxBy()方法
Java8中Collector类的maxBy()
方法返回一个Collector,Collector根据给定的Comparator(描述为Optional<T>)生成最大元素。
语法如下
static <T> Collector<T,?,Optional<T>> maxBy(Comparator<? super T> comparator)
在这里,参数
T-输入元素的类型
比较器-用于比较元素
选项<T>-可能包含或可能不包含非空值的容器对象
要使用Java中的Collectors类,请导入以下包
import java.util.stream.Collectors;
以下是maxBy()
在Java中实现方法的示例
示例
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