zoukankan      html  css  js  c++  java
  • 用 lambda 表达式 对 List 进行排序

            List<Integer> list = new ArrayList<>();
            list.add(4);
            list.add(6);
            list.add(3);
            list.add(5);
            list.add(1);
            list.add(2);
            Iterator<Integer> iterator = list.iterator();
            System.out.println("排序前:");
            while(iterator.hasNext()) {
                System.out.print(iterator.next()+" ");
            }
            list.sort((a, b) -> a - b);       //排序
            Iterator<Integer> iteratorSort = list.iterator();
            System.out.println("
    "+"排序后:");
            while(iteratorSort.hasNext()) {
                System.out.print(iteratorSort.next()+" ");
            }

    输出结果:

    排序前:
    4 6 3 5 1 2 
    排序后:
    1 2 3 4 5 6 

    下面用实体类里面的属性进行排序:

    Person类:

    public class Person {
        
        private String name;
        
        private Integer age;
        
        private Integer score;
        
    
        public Person(String name, Integer age, Integer score) {
            super();
            this.name = name;
            this.age = age;
            this.score = score;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        public Integer getScore() {
            return score;
        }
    
        public void setScore(Integer score) {
            this.score = score;
        }
    
        @Override
        public String toString() {
            return "Person [name=" + name + ", age=" + age + ", score=" + score + "]";
        }
        
    
    }

    测试一下:

            List<Person> list = new ArrayList<>();
            list.add(new Person("lc",22,100));
            list.add(new Person("ly",16,70));
            list.add(new Person("yyz",20,60));
            list.add(new Person("mxy",20,80));
            list.add(new Person("lxy",15,90));
            list.sort((a, b) -> a.getAge() - b.getAge());   //按年龄排序
            System.out.println("按年龄排序:");
            Iterator<Person> iterator_age = list.iterator(); 
            while(iterator_age.hasNext()) {
                System.out.println(iterator_age.next()+" ");
            }
            
            list.sort((a, b) -> a.getScore() - b.getScore());
            System.out.println("按分数排序:");
            Iterator<Person> iterator_score = list.iterator();
            while(iterator_score.hasNext()) {
                System.out.println(iterator_score.next()+" ");
            }

    输出结果:

    按年龄排序:
    Person [name=lxy, age=15, score=90] 
    Person [name=ly, age=16, score=70] 
    Person [name=yyz, age=20, score=60] 
    Person [name=mxy, age=20, score=80] 
    Person [name=lc, age=22, score=100] 
    按分数排序:
    Person [name=yyz, age=20, score=60] 
    Person [name=ly, age=16, score=70] 
    Person [name=mxy, age=20, score=80] 
    Person [name=lxy, age=15, score=90] 
    Person [name=lc, age=22, score=100] 
  • 相关阅读:
    项目常见异常
    mysql 存储过程中使用事物+事件定时执行存储过程
    Spring Mvc 配置 之 ContextLoaderListener
    Spring Boot 之 https
    Spring Boot 之 annotation注解
    用python打印99乘法口诀表
    gerrit代码审核工具之“error unpack failed error Missing unknown”错误解决思路
    在eclipse搭建python开发环境
    python2与python3语法区别之_重定向
    2_jenkins_git创建创建及项目构建
  • 原文地址:https://www.cnblogs.com/nefu-Lc/p/10066547.html
Copyright © 2011-2022 走看看