Stream min() 方法用于根据用于比较元素的 Comparator 选择 Stream中的最小/最小元素。
Comparator对可能没有自然排序的 Stream 元素强加总排序。
www. On IT Road .com
Java Stream min() 示例
使用Lambda 表达式找出 Stream 流中的最小元素
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = Arrays.asList(2, 4, 1, 3, 7, 5, 9, 6, 8);
Optional<Integer> minNumber = list.stream()
.min((i, j) -> i.compareTo(j));
System.out.println(minNumber.get());
}
}
使用比较器找出 stream流中的最小元素
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = Arrays.asList(2, 4, 1, 3, 7, 5, 9, 6, 8);
Comparator<Integer> minComparator = new Comparator<Integer>() {
@Override
public int compare(Integer n1, Integer n2) {
return n1.compareTo(n2);
}
};
Optional<Integer> minNumber = list.stream()
.min(minComparator);
System.out.println(minNumber.get());
}
}
Stream min() 方法
方法语法
该方法采用无干扰、无状态的 Comparator 来比较流的元素。
它返回一个 Optional 描述流的最大元素,如果流为空,则返回一个空的 Optional。
如果找到的最小元素为 null,min()方法将抛出 NullPointerException。
Optional<T> min(Comparator<? super T> comparator)
说明
- 这是一个终端操作。所以这个方法执行完后就不能使用stream了。
- 根据提供的
Comparator 返回此流的最小/最小元素。 - 这是流减少的特例。
- 方法参数应为无干扰、无状态的“Comparator”。
- 该方法返回一个描述此流的最小元素的 Optional ,如果流为空,则返回一个空的
Optional。 - 如果最小元素是
null,它可能会抛出 NullPointerException。
日期:2020-09-17 00:10:05 来源:oir作者:oir
