我是靠谱客的博主 魁梧皮皮虾,最近开发中收集的这篇文章主要介绍Lambda 排序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转自  https://www.cnblogs.com/franson-2016/p/5593080.html
List<Person> dsdsd = new ArrayList<Person>(){
    {
        add(new Person("Elsdon", "Jaycob", "Java programmer", "male", 43, 2000));
        add(new Person("Tamsen", "Brittany", "Java programmer", "female", 23, 1500));
        add(new Person("Floyd", "Donny", "Java programmer", "male", 33, 1800));
        add(new Person("Sindy", "Jonie", "Java programmer", "female", 32, 1600));
        add(new Person("Vere", "Hervey", "Java programmer", "male", 22, 1200));
        add(new Person("Maude", "Jaimie", "Java programmer", "female", 27, 1900));
        add(new Person("Shawn", "Randall", "Java programmer", "male", 30, 2300));
        add(new Person("Jayden", "Corrina", "Java programmer", "female", 35, 1700));
        add(new Person("Palmer", "Dene", "Java programmer", "male", 33, 2000));
    }
};
正序(根据年龄)
dsdsd.stream().forEach(person -> System.out.printf("%s %s;",person.firstName,person.getAge()));
dsdsd.stream().sorted((Person p, Person p2) ->(p.age-p2.age))
or
dsdsd.stream().sorted((p,  p2) ->(p.age-p2.age))
or
dsdsd.stream().sorted(Comparator.comparing(Person::getAge))
倒叙
dsdsd.stream().sorted((p, p2) ->(p.age-p2.age));
or
dsdsd.stream().sorted(Comparator.comparing(Person::getAge).reversed())

 

姓名根据给定的顺序排序

String sort="Floyd,Jayden,Palmer,Vere,Shawn,Elsdon,Tamsen";
dsdsd.stream().filter(person -> sort.contains(person.firstName)).sorted((p, p2) -> (sort.indexOf(p.firstName) - sort.indexOf(p2.firstName))).forEach(person -> System.out.printf("%s ; ", person.firstName)); System.out.println(""); dsdsd.stream().sorted((p, p2) -> (sort.indexOf(p2.firstName)-sort.indexOf(p.firstName) )).forEach(person -> System.out.printf("%s ; ", person.firstName));

 

 

 

最后

以上就是魁梧皮皮虾为你收集整理的Lambda 排序的全部内容,希望文章能够帮你解决Lambda 排序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部