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” ,可以相互关注下哈

  • 相关阅读:
    关于值传递和引用传递
    单例设计模式(创建型模式)
    逻辑分页和物理分页
    java基本数据类型
    Keepalived笔记
    lvs,HAProxy,nginx简单笔记
    限流, 熔断,降级笔记
    redis事务之watch
    Redis-Sentinel
    正式入驻博客园
  • 原文地址:https://www.cnblogs.com/c9999/p/10844654.html
Copyright © 2011-2022 走看看