public class Java8Test { public static void main(String[] args) { Person p1 = new Person("麻子", 31); Person p2 = new Person("李四", 20); Person p3 = new Person("王五", 26); List<Person> personList = new ArrayList<Person>(); personList.add(p1); personList.add(p2); personList.add(p3); //java8遍历 personList.forEach(p -> System.out.println(p.getAge())); //按照person的 age进行排序 //方法一 personList.sort((o1, o2) -> o1.getAge().compareTo(o2.getAge())); //正序 personList.sort((o1, o2) -> o2.getAge().compareTo(o1.getAge())); //倒序 //方法二 personList.sort(Comparator.comparing(Person::getAge)); // 正序 personList.sort(Comparator.comparing(Person::getAge).reversed()); // 倒序 //遍历 personList.forEach(p -> System.out.println(p.getAge())); System.out.println("========================================"); //获取年龄最大的Person Person maxAgePerson = personList.stream().max(Comparator.comparing(Person::getAge)).get(); System.out.println(maxAgePerson.getAge()); System.out.println("========================================"); //获取年龄最小的Person Person minAgePerson = personList.stream().min(Comparator.comparing(Person::getAge)).get(); System.out.println(minAgePerson.getAge()); //过滤出年龄是20的person,想过滤出什么条件的都可以 List<Person> personList1 = personList.stream().filter(person -> person.getAge() == 20).collect(Collectors.toList()); //统计出年龄等于20的个数 long count = personList.stream().filter(person -> person.getAge() == 20).count(); //获得年龄的平均值 double asDouble = personList.stream().mapToInt(person -> person.getAge()).average().getAsDouble(); //获得年龄的求和 int sum = personList.stream().mapToInt(person -> person.getAge()).sum(); } }
我在腾讯微视玩短视频 搜索用户 “lei9527” ,可以相互关注下哈