Java Stream min() 方法

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

如果找到的最小元素为 nullmin()方法将抛出 NullPointerException。

Optional<T> min(Comparator<? super T> comparator)

说明

  • 这是一个终端操作。所以这个方法执行完后就不能使用stream了。
  • 根据提供的 Comparator 返回此流的最小/最小元素。
  • 这是流减少的特例。
  • 方法参数应为无干扰、无状态的“Comparator”。
  • 该方法返回一个描述此流的最小元素的 Optional ,如果流为空,则返回一个空的 Optional
  • 如果最小元素是 null,它可能会抛出 NullPointerException。
日期:2020-09-17 00:10:05 来源:oir作者:oir