对于List<对象> 或者List<Map<String,integer>>等类型的数组,如何快速的求出list数组中某个对象的某个属性的和,平均数,统计数,最大值,最小值,等:
使用 XXXSummaryStatistics统计类实现:
public class SummaryStatistics {
public static void main(String[] args) {
//1.对int类型list进行求和
Integer[] integerArray = {1, 3, 5, 10, 18};
List<Integer> list = new ArrayList<>(Arrays.asList(integerArray));
IntSummaryStatistics summaryStatistics = list.stream().mapToInt((s) -> s).summaryStatistics();
System.out.println("总和:" + summaryStatistics.getSum());
System.out.println("平均数:" + summaryStatistics.getAverage());
System.out.println("总个数:" + summaryStatistics.getCount());
System.out.println("最大值:" + summaryStatistics.getMax());
System.out.println("最小值:" + summaryStatistics.getMin());
}
}
运行结果如下:
总和:37
平均数:7.4
总个数:5
最大值:18
最小值:1
相应的还有DoubleSummaryStatistics, LongSummaryStatistics