阅读背景:

list 的三种求和方式

来源:互联网 
public class ListTest03 { @Test public void test() { List<Student> list = new ArrayList<>(); Student s1 = new Student(); s1.setId(1); s1.setName("张三"); s1.setAge(28); Student s2 = new Student(); s2.setId(2); s2.setName("李四"); s2.setAge(29); Student s3 = new Student(); s3.setId(3); s3.setName("网二"); s3.setAge(30); list.add(s1); list.add(s2); list.add(s3); System.out.println(list); //[Student(id=1, name=张三, age=28), Student(id=2, name=李四, age=29), Student(id=3, name=网二, age=30)] System.out.println("=========第一种方式================"); int suma = list.stream().map(e -> e.getAge()).reduce(Integer::sum).get();//求和 87 System.out.println(suma); int maxa = list.stream().map(e -> e.getAge()).reduce(Integer::max).get();//最大 30 System.out.println(maxa); int mina = list.stream().map(e -> e.getAge()).reduce(Integer::min).get();//最小 28 System.out.println(mina); System.out.println("=========第二种方式================"); 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); } } @Data @Builder @NoArgsConstructor @AllArgsConstructor class Student{ int id; String name; int age; } public class ListTest03 { @Test public void test(



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: