Java函数式编程-4.lambda表达式排序

本文通过实例详细讲解了如何使用Java的Lambda表达式进行数据排序,包括基本数据类型排序、对象属性排序以及按照多个条件进行复杂排序。通过对Student对象的age和name属性的排序,展示了Comparator的用法,包括naturalOrder()、reverseOrder()以及组合多个比较器进行排序。
摘要由CSDN通过智能技术生成

1.lambda表达式排序
我们首先看几个比较常见的排序例子,基本数据类型的排序
List list = Arrays.asList(1,3,2,5,4);
list.sort(Comparator.naturalOrder());
System.out.println(list);
list.sort(Comparator.reverseOrder());
System.out.println(list);

输出结果:

[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]

我们可以看到执行结果是符合预期的,但是多数场景我们可能需要针对对象的某个属性进行排序,那么应该怎样做呢?我们看下边的例子:
public class Student {
private String name;
private String sexual;
private Integer age;

public Student(String name, String sexual,Integer age) {
    this.name = name;
    this.sexual = sexual;
    this.age = age;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getSexual() {
    return sexual;
}

public void setSexual(String sexual) {
    this.sexual = sexual;
}

public Integer getAge() {
    return age;
}

public void s
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值