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();
     
        }
    }
  • 相关阅读:
    java 数组声明方法
    python 什么叫迭代
    Golang生成区间随机整数
    Golang字符串格式化
    Golang中map的三种声明方式和简单实现增删改查
    Golang实现二分查找法
    Golang实现冒泡排序法
    Golang切片的三种简单使用方式及区别
    Golang获取int数组里的最大值和下标
    Golang数组注意细节
  • 原文地址:https://www.cnblogs.com/interdrp/p/12076703.html
Copyright © 2011-2022 走看看