概述
转自 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 排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复