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));
原文地址:https://www.cnblogs.com/james641/p/12703749.html