list集合使用stream流求最大值与最小值
时间: 2023-08-23 15:16:41 浏览: 217
使用Stream流可以很方便地求出List集合的最大值和最小值。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int max = numbers.stream()
.max(Integer::compareTo)
.orElseThrow(); // 如果集合为空,则抛出异常
System.out.println("最大值:" + max);
int min = numbers.stream()
.min(Integer::compareTo)
.orElseThrow(); // 如果集合为空,则抛出异常
System.out.println("最小值:" + min);
}
}
```
在上述示例中,我们创建了一个包含整数的List集合。然后使用Stream流的`max()`方法和`min()`方法,传入`Integer::compareTo`作为比较器,来获取最大值和最小值。使用`orElseThrow()`方法可以在集合为空时抛出异常,你也可以选择使用`orElse()`方法来提供一个默认值。
运行上述代码,输出将会是:
```
最大值:5
最小值:1
```
这样就得到了List集合的最大值和最小值。希望对你有帮助!如果还有其他问题,请继续提问。
阅读全文