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方式。