List排序的方法


// 方法1 自定义排序的规则 step1
@AllArgsConstructor
@Getter
public enum EastTradeTypeEnum {
    BBC(1, "BBC", "备货"),
    BC(2, "BC", "直邮"),
    CC(3, "CC", "快件"),
    PICKUP(4, "代取件", "代取件"),
    EXPARCEL(5, "出口小包", "出口小包"),
    OTHER(100, "OTHER", "OTHER");

    private int index;
    private String code;
    private String message;
}


// 方法1 自定义排序的规则  step2,使用枚举中的index排序
Collections.sort(orderList, (o1, o2) -> {
            EastTradeTypeEnum o1TradeType = Optional.ofNullable(EnumUtils.getInstance(o1.getTitle(), EastTradeTypeEnum.class)).orElse(EastTradeTypeEnum.OTHER);
            EastTradeTypeEnum o2TradeType = Optional.ofNullable(EnumUtils.getInstance(o2.getTitle(), EastTradeTypeEnum.class)).orElse(EastTradeTypeEnum.OTHER);
            return o1TradeType.getIndex() - o2TradeType.getIndex();
        });



// 方法2 根据订单数量进行排序
Collections.sort(orderList, Comparator.comparing(Order::getCount));

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM