Java8 stream平均值、最小数、最大数、求和

it2022-05-05  126

package com.haut.zm.execute; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Calculate { public static void main(String[] args) { /* * 不允许list中存在为空的值,不然会异常 */ List<Double> list = Arrays.asList(0D, 1D, 1.2, 5.6); List<Integer> integers = Arrays.asList(0, 1, 2, 56); Double avg = list.stream().collect(Collectors.averagingDouble(Double::doubleValue)); Double avgs = list.stream().mapToDouble(Double::doubleValue).average().orElse(0D); Double intAvg = integers.stream().mapToInt(Integer::intValue).average().orElse(0D); Double min = list.stream().min(Double::compareTo).get(); Double max = list.stream().max(Double::compareTo).get(); Double sum = list.stream().mapToDouble(Double::doubleValue).sum(); Double sums = list.stream().reduce(Double::sum).get(); } }

collect方式和mapToxx方式,源代码实现是不同的方式。

建议使用mapToxx方式。


最新回复(0)