zoukankan      html  css  js  c++  java
  • 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();
    
        }
    }
    

      我在腾讯微视玩短视频 搜索用户  “lei9527” ,可以相互关注下哈

  • 相关阅读:
    解决证书过期而无法连接到或启动HyperV虚拟机的问题
    Hyperv相关补丁(错误号87 Virtual Machine Management服务无法启动)
    Formula One Report学习总结
    漂亮的Form皮肤
    FarPoint Design BorderEditor(边框设计)
    保存图片到SQL Server
    发布一个的Web日期选择控件及源码(其中的js代码来自于Microsoft CRM)
    自谈音乐之道
    SQL Server 存储过程的分页
    教你9招最有效防电脑辐射方法
  • 原文地址:https://www.cnblogs.com/c9999/p/10844654.html
Copyright © 2011-2022 走看看