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