实体类排序(根据实体类中的某个字段进行排序)
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());