public static void main(String[] args) {
List<Integer> aa = new ArrayList<>();
aa.add(1);
aa.add(2);
aa.add(3);
int sum = aa.stream().mapToInt(Integer::intValue).sum();//和
int max = aa.stream().mapToInt(Integer::intValue).max().getAsInt();//最大
int min = aa.stream().mapToInt(Integer::intValue).min().getAsInt();//最小
double avg = aa.stream().mapToDouble(Integer::intValue).average().getAsDouble();//平均
System.out.println("总和:"+sum);
System.out.println("最大:"+max);
System.out.println("最小:"+min);
System.out.println("平均:"+avg);
}
//同理 double
public static void main(String[] args) {
List<Double> aa = new ArrayList<>();
aa.add(1.3);
aa.add(2.3);
double sum = aa.stream().mapToDouble(Double::doubleValue).sum();//和
double max = aa.stream().mapToDouble(Double::doubleValue).max().getAsDouble();//最大
double min = aa.stream().mapToDouble(Double::doubleValue).min().getAsDouble();//最小
double avg = aa.stream().mapToDouble(Double::doubleValue).average().getAsDouble();//平均
System.out.println("总和:"+sum);
System.out.println("最大:"+max);
System.out.println("最小:"+min);
System.out.println("平均:"+avg);
}
//取出一组对象的某个属性组成一个新集合 将User的age属性组成新集合
List<Integer> ages=userList.stream().map(User::getAge).collect(Collectors.toList());
userList.stream().mapToDouble(User::getAge).sum()//和
userList.stream().mapToDouble(User::getAge).max().getAsDouble()//最大
userList.stream().mapToDouble(User::getAge).min().getAsDouble()//最小
userList.stream().mapToDouble(User::getAge).average().getAsDouble()//平均值
//或者
int sum = userList.stream().map(e -> e.getAge()).reduce(Integer::sum).get();
int max = userList.stream().map(e -> e.getAge()).reduce(Integer::max).get();
int min = userList.stream().map(e -> e.getAge()).reduce(Integer::min).get();
list的其他应用:https://pingzhengguo.blog.csdn.net/article/details/86569380 (类型转换,排序,分组)
https://pingzhengguo.blog.csdn.net/article/details/86571528 (去重和提取重复元素)
https://pingzhengguo.blog.csdn.net/article/details/88990352(list集合的分页问题)
https://pingzhengguo.blog.csdn.net/article/details/90484690(list和树状间的转换)