List集合求和(JDK1.8)(纯照搬别人,非原创)
第一种方式 int suma = list.stream().map(e -> e.getAge()).reduce(Integer::sum).get();//求和 System.out.println(suma); int maxa = list.stream().map(e -> e.getAge()).reduce(Integer::max).get();//最大 System.out.println(maxa); int mina = list.stream().map(e -> e.getAge()).reduce(Integer::min).get();//最小 System.out.println(mina); int mathSumInt = list.stream().mapToInt( Student::getMathScoresInt ).sum(); //int类型 long mathSumLong = list.stream().mapToLong( Student::getMathScoresLong ).sum(); //long类型 double mathSumDouble = list.stream().mapToDouble( Student::getMathScoresDouble ).sum(); //double类型 BigDecimal mathSumBigDecimal = list.stream().map( Student::getMathScoresBigDecimal ).reduce(BigDecimal.ZERO, BigDecimal::add); //BigDecimal类型 第二种方式 double doublesum = list.stream().mapToDouble(Student::getAge).sum();//和 System.out.println(doublesum); int intmax = list.stream().mapToInt(Student::getAge).max().getAsInt();//最大 System.out.println(intmax); int intmin = list.stream().mapToInt(Student::getAge).min().getAsInt();//最小 System.out.println(intmin); double avg = list.stream().mapToDouble(Student::getAge).average().getAsDouble();//平均 System.out.println(avg);