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

数据结构

public classInsurerClientDto {privateLong insurerClientId;privateString clientOidType;privateLong clientOid;privateString clientCode;privateString clientDesc;privateLong hqHdrId;publicInsurerClientDto() {//Default constructor

}public voidsetInsurerClientId(Long insurerClientId) {this.insurerClientId =insurerClientId;

}publicLong getInsurerClientId() {returninsurerClientId;

}public voidsetClientOidType(String clientOidType) {this.clientOidType =clientOidType;

}publicString getClientOidType() {returnclientOidType;

}public voidsetClientOid(Long clientOid) {this.clientOid =clientOid;

}publicLong getClientOid() {returnclientOid;

}publicString getClientCode() {returnclientCode;

}public voidsetClientCode(String clientCode) {this.clientCode =clientCode;

}public voidsetClientDesc(String clientDesc) {this.clientDesc =clientDesc;

}publicString getClientDesc() {returnclientDesc;

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

@OverridepublicString toString() {return "InsurerClientDto [insurerClientId=" + insurerClientId + ", clientOidType=" +clientOidType+ ", clientOid=" + clientOid + ", clientCode=" + clientCode + ", clientDesc=" +clientDesc+ ", hqHdrId=" + hqHdrId + "]";

}

}

数据准备

List insurerClientDto = new ArrayList<>();

InsurerClientDto dto= newInsurerClientDto();

dto.setClientCode("KP03S");

insurerClientDto.add(dto);

dto= newInsurerClientDto();

dto.setClientCode("KP048");

insurerClientDto.add(dto);

dto= newInsurerClientDto();

dto.setClientCode("KP003");

insurerClientDto.add(dto);

3种方法

1、不能实现排序

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

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

不能实现排序原因:

2、可以实现排序

Comparator clinentComparator = Comparator.comparing(InsurerClientDto :: getClientCode, String.CASE_INSENSITIVE_ORDER);

insurerClientDto.sort(clinentComparator);

3、可以实现排序

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

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

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

原文链接:

参考链接:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值