List集合排序(Lambda表达式)

本文详细介绍了如何使用Java对ArrayList进行升序和降序排序,包括基本数据类型如整数和浮点数的排序,以及根据自定义对象的属性进行排序的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.降序:

        ArrayList<Integer> list=new ArrayList<>();
        list.add(3);list.add(1);list.add(4);list.add(-1);
        //降序排列
        list.sort((x,y)->y-x);

2.升序:

        ArrayList<Integer> list=new ArrayList<>();
        list.add(3);list.add(1);list.add(4);list.add(-1);
        //升序排列
        list.sort((x,y)->x-y);

3.根据对象属性排序:

@Data
public class DemoSort{

    private Integer sort1;

    private Double sort2;


}    
ArrayList<DemoSort> list=new ArrayList<>();
DemoSort s1 = new DemoSort();
s1.setSort1(1);
s1.setSort2(1.0);
DemoSort s2 = new DemoSort();
s2.setSort1(1);
s2.setSort2(2.0);
DemoSort s3 = new DemoSort();
s3.setSort1(1);
s3.setSort2(3.0);

//Integer排序

list.add(s3);list.add(s1);list.add(s2);
//升序排列
list.sort((x,y)->x.getSort1()-y.getSort1());

//降序排列
list.sort((y,x)->x.getSort1()-y.getSort1());

//Double排序

//升序排列
list.sort((x,y)->(x.getSort2()-y.getSort2()>0.0)?1:(x.getSort2()-y.getSort2()<0.0)?-1:0));

//降序排列
list.sort((y,x)->(x.getSort2()-y.getSort2()>0.0)?1:(x.getSort2()-y.getSort2()<0.0)?-1:0));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值