实体类排序(根据实体类中的某个字段进行排序)

1,(实现 Comparable接口回重写一个方法--方法体就是排序规则)

@Data
public class ListNumberingDTO implements Comparable<ListNumberingDTO>{
   private String position;
   private String productname;
   private String maxusedcount;
   private String lifeusedcount;
   private String usedcount;
   private String reworkcount;
   private String prreworkcount;

}

2,

//倒序     7 6 5 4 3 2 1

@Override
public int compareTo(ListNumberingDTO o) {
    int i =Integer.parseInt(o.getPosition())-Integer.parseInt(this.position);
    return i;
}

正序  1 2 3 4 5 6 7------改方法体--前后参数换个位置

@Override
public int compareTo(ListNumberingDTO o) {
    int i =Integer.parseInt(this.position) -Integer.parseInt(o.getPosition());
    return i;
}

2.实体类好后

ListNumberingDTOList:装有上面这个实体类对象集合

排序:Collections.sort( 需要排序的对象集合 )

Collections.sort(ListNumberingDTOList);

3,直接返回 ListNumberingDTOList 集合里面就已将排好序了

2.另一种排序方法-------reversed()为倒序,不要这个方法为正序

List<OwnerTypeDTO> collect = OwnerTypeDTOList.stream().sorted(Comparator.comparing(OwnerTypeDTO::getEnumvalue)).collect(Collectors.toList());
 

 return tempList.stream().sorted(Comparator.comparingLong(TrackOutMIXSourceDTO::getPosition).reversed())
                    .sorted(Comparator.comparing(TrackOutMIXSourceDTO::getCarriername).reversed()).collect(Collectors.toList());