【Lambda】正序、倒序

正序

排序条件:Comparator.comparing(MsgVo::getNo)
Stream字符串按数字排序:Comparator.comparingInt(Integer::parseInt)

		MsgVo msgVo1 = new MsgVo();
        MsgVo msgVo2 = new MsgVo();
        MsgVo msgVo3 = new MsgVo();
        MsgVo msgVo4 = new MsgVo();
        MsgVo msgVo5 = new MsgVo();
        msgVo1.setNo("1");
        msgVo1.setMsg("aaaa");
        msgVo2.setNo("7");
        msgVo2.setMsg("bbbb");
        msgVo3.setNo("4");
        msgVo3.setMsg("cccc");
        msgVo4.setNo("3");
        msgVo4.setMsg("dddd");
        msgVo5.setNo("4");
        msgVo5.setMsg("eeee");
        List<MsgVo> msgList = new ArrayList<>();
        msgList.add(msgVo1);
        msgList.add(msgVo2);
        msgList.add(msgVo3);
        msgList.add(msgVo4);
        msgList.add(msgVo5);
        System.out.println("之前 = " + msgList);
        msgList = msgList.stream().sorted(Comparator.comparing(MsgVo::getNo, Comparator.comparingInt(Integer::parseInt))).collect(Collectors.toList());
        System.out.println("之后 = " + msgList);

结果打印:

之前 = [MsgVo(no=1, msg=aaaa), MsgVo(no=7, msg=bbbb), MsgVo(no=4, msg=cccc), MsgVo(no=3, msg=dddd), MsgVo(no=4, msg=eeee)]
之后 = [MsgVo(no=1, msg=aaaa), MsgVo(no=3, msg=dddd), MsgVo(no=4, msg=cccc), MsgVo(no=4, msg=eeee), MsgVo(no=7, msg=bbbb)]

倒序

差别在于:reversed()

MsgVo msgVo1 = new MsgVo();
        MsgVo msgVo2 = new MsgVo();
        MsgVo msgVo3 = new MsgVo();
        MsgVo msgVo4 = new MsgVo();
        MsgVo msgVo5 = new MsgVo();
        msgVo1.setNo("1");
        msgVo1.setMsg("aaaa");
        msgVo2.setNo("7");
        msgVo2.setMsg("bbbb");
        msgVo3.setNo("4");
        msgVo3.setMsg("cccc");
        msgVo4.setNo("3");
        msgVo4.setMsg("dddd");
        msgVo5.setNo("4");
        msgVo5.setMsg("eeee");
        List<MsgVo> msgList = new ArrayList<>();
        msgList.add(msgVo1);
        msgList.add(msgVo2);
        msgList.add(msgVo3);
        msgList.add(msgVo4);
        msgList.add(msgVo5);
        System.out.println("之前 = " + msgList);
        msgList = msgList.stream().sorted(Comparator.comparing(MsgVo::getNo, Comparator.comparingInt(Integer::parseInt)).reversed()).collect(Collectors.toList());
        System.out.println("之后 = " + msgList);

结果打印:

之前 = [MsgVo(no=1, msg=aaaa), MsgVo(no=7, msg=bbbb), MsgVo(no=4, msg=cccc), MsgVo(no=3, msg=dddd), MsgVo(no=4, msg=eeee)]
之后 = [MsgVo(no=7, msg=bbbb), MsgVo(no=4, msg=cccc), MsgVo(no=4, msg=eeee), MsgVo(no=3, msg=dddd), MsgVo(no=1, msg=aaaa)]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值