• java8 List集合的排序,求和,取最大值,按照条件过滤


    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();
     
        }
    }
  • 相关阅读:
    Linux Shell编程(25)——I/O 重定向
    Linux Shell编程(24)——命令替换
    Linux Shell编程(23)——文本处理命令
    Linux Shell编程(22)——时间/日期 命令
    Linux Shell编程(21)——复杂命令
    玩转大数据,顺利渡过34岁裁退危机!
    传统企业IT架构如何能更好的支撑企业互联网业务的转型
    业务技术协同线上化的硬盘式研发管理实践
    做一个美女图片大全那种的网站怎么提高网站流量?
    Eclipse曾经的行业之王,为何堕落了?
  • 原文地址:https://www.cnblogs.com/interdrp/p/12076703.html
Copyright © 2020-2023  润新知