Java8中Stream流求最大值最小值
stream java8 最大值 最小值
2023-09-14 09:14:51 时间
文章目录
java中各种类型用Stream流求最大值最小值
一、BigDecimal 求最大值和最小值
1. stream().reduce()实现
List<BigDecimal> list = new ArrayList<>(Arrays.asList(new BigDecimal("1"), new BigDecimal("2")));
BigDecimal max = list.stream().reduce(list.get(0), BigDecimal::max);
BigDecimal min = list.stream().reduce(list.get(0), BigDecimal::min);
2. stream().max()或stream().min()实现
List<BigDecimal> list = new ArrayList<>(Arrays.asList(new BigDecimal("1"), new BigDecimal("2")));
BigDecimal max = list.stream().max(Comparator.comparing(x -> x)).orElse(null);
BigDecimal min = list.stream().min(Comparator.comparing(x -> x)).orElse(null);
二、Integer 求最大值和最小值
1. stream().reduce()实现
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2));
Integer max = list.stream().reduce(list.get(0), Integer::max);
Integer min = list.stream().reduce(list.get(0), Integer::min);
2. Collectors.summarizingInt()实现
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2));
IntSummaryStatistics intSummaryStatistics = list.stream().collect(Collectors.summarizingInt(x -> x));
Integer max = intSummaryStatistics.getMax();
Integer min = intSummaryStatistics.getMin();
3. stream().max()或stream().min()实现
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2));
Integer max = list.stream().max(Comparator.comparing(x -> x)).orElse(null);
Integer min = list.stream().min(Comparator.comparing(x -> x)).orElse(null);
三、Long 求最大值和最小值
1. stream().reduce()实现
List<Long> list = new ArrayList<>(Arrays.asList(1L, 2L));
Long max = list.stream().reduce(list.get(0), Long::max);
Long min = list.stream().reduce(list.get(0), Long::min);
2. Collectors.summarizingLong()实现
List<Long> list = new ArrayList<>(Arrays.asList(1L, 2L));
LongSummaryStatistics summaryStatistics = list.stream().collect(Collectors.summarizingLong(x -> x));
Long max = summaryStatistics.getMax();
Long min = summaryStatistics.getMin();
3. stream().max()或stream().min()实现
List<Long> list = new ArrayList<>(Arrays.asList(1L, 2L));
Long max = list.stream().max(Comparator.comparing(x -> x)).orElse(null);
Long min = list.stream().min(Comparator.comparing(x -> x)).orElse(null);
四、Double 求最大值和最小值
1. stream().reduce()实现
List<Double> list = new ArrayList<>(Arrays.asList(1d, 2d));
Double max = list.stream().reduce(list.get(0), Double::max);
Double min = list.stream().reduce(list.get(0), Double::min);
2. Collectors.summarizingLong()实现
List<Double> list = new ArrayList<>(Arrays.asList(1d, 2d));
DoubleSummaryStatistics summaryStatistics = list.stream().collect(Collectors.summarizingDouble(x -> x));
Double max = summaryStatistics.getMax();
Double min = summaryStatistics.getMin();
3. stream().max()或stream().min()实现
List<Double> list = new ArrayList<>(Arrays.asList(1d, 2d));
Double max = list.stream().max(Comparator.comparing(x -> x)).orElse(null);
Double min = list.stream().min(Comparator.comparing(x -> x)).orElse(null);
相关文章
- Java8 stream 中利用 groupingBy 进行多字段分组求和
- Java8 stream 之groupingBy() 分组排序
- java8 stream().map().collect()的Collectors.toList()、Collectors.toMap()、Collectors.groupingBy()的用法[通俗易
- 玩转Java8 Stream流
- 如何在 CentOS 9 Stream 上安装 MariaDB
- 【说站】java中Stream的使用流程及注意
- java8 .stream().anyMatch / allMatch / noneMatch用法,判断某元素是否在list中,或某集合中全部都是某元素,或是否不在list中,统计list元素
- JDK8辅助学习(四):Stream流 collect() 方法的详细使用介绍「建议收藏」
- HLS四种方式推断出AXI4 Stream接口(2)
- Java 8 使用 Stream 把 List 转换为 map
- Stream API练习实例
- java8新特性--Stream API
- 让代码变得优雅简洁的神器:Java8 Stream流式编程
- Spring Cloud Stream与Kafka集成示例
- MySQL Error number: MY-010446; Symbol: ER_RPL_UNEXPECTED_XA_ROLLBACK_IN_STREAM; SQLSTATE: HY000 报错 故障修复 远程处理
- Akka(23): Stream:自定义流构件功能-Custom defined stream processing stages详解编程语言
- [零]java8 函数式编程入门官方文档中文版 java.util.stream 中文版 流处理的相关概念详解编程语言
- Java8新特性-Stream详解编程语言
- 真相:为什么红帽为了 CentOS Stream 而抛弃 CentOS?
- php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)