java 8 lambda 排序_Java8 使用 lambda 对 List,Set 进行排序

数据结构

194501754_1_20200703052109394.gif

public class InsurerClientDto {

private Long insurerClientId;

private String clientOidType;

private Long clientOid;

private String clientCode;

private String clientDesc;

private Long hqHdrId;

public InsurerClientDto() {

//Default constructor

}

public void setInsurerClientId(Long insurerClientId) {

this.insurerClientId = insurerClientId;

}

public Long getInsurerClientId() {

return insurerClientId;

}

public void setClientOidType(String clientOidType) {

this.clientOidType = clientOidType;

}

public String getClientOidType() {

return clientOidType;

}

public void setClientOid(Long clientOid) {

this.clientOid = clientOid;

}

public Long getClientOid() {

return clientOid;

}

public String getClientCode() {

return clientCode;

}

public void setClientCode(String clientCode) {

this.clientCode = clientCode;

}

public void setClientDesc(String clientDesc) {

this.clientDesc = clientDesc;

}

public String getClientDesc() {

return clientDesc;

}

public Long getHqHdrId() { return hqHdrId; }

public void setHqHdrId(Long hqHdrId) { this.hqHdrId = hqHdrId; }

@Override

public String toString() {

return "InsurerClientDto [insurerClientId=" + insurerClientId + ", clientOidType=" + clientOidType

+ ", clientOid=" + clientOid + ", clientCode=" + clientCode + ", clientDesc=" + clientDesc

+ ", hqHdrId=" + hqHdrId + "]";

}

}

194501754_1_20200703052109394.gif

数据准备

194501754_1_20200703052109394.gif

List insurerClientDto = new ArrayList<>();

InsurerClientDto dto = new InsurerClientDto();

dto.setClientCode("KP03S");

insurerClientDto.add(dto);

dto = new InsurerClientDto();

dto.setClientCode("KP048");

insurerClientDto.add(dto);

dto = new InsurerClientDto();

dto.setClientCode("KP003");

insurerClientDto.add(dto);

194501754_1_20200703052109394.gif

3种方法

1、不能实现排序

Comparator clinentComparator = (v1, v2) -> v1.getClientCode().compareTo(v2.getClientCode());

insurerClientDto.stream().sorted(clinentComparator.reversed());

不能实现排序原因:

2、可以实现排序

Comparator clinentComparator = (v1, v2) -> v1.getClientCode().compareTo(v2.getClientCode());

insurerClientDto.stream().sorted(clinentComparator.reversed());

3、可以实现排序

insurerClientDto.sort((d1, d2) -> d1.getClientCode().compareTo(d2.getClientCode()));

或(用法相同,上面省略类名而已)

insurerClientDto.sort((InsurerClientDto d1, InsurerClientDto d2) -> d1.getClientCode().compareTo(d2.getClientCode()));

原文链接:语言

方法

2488

fy90C

3951

2005.12.10 01-03-49

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值