1.Comparable自然規則排序
//在自定義類Student里面實現Comparable接口,並重寫抽象方法compareTo(Student o);
//Collections.sort(集合);
public static void main(String[] args) {
List<Integer> nums = new ArrayList<Integer>();
nums.add(3);
nums.add(5);
nums.add(1);
nums.add(0);
Collections.sort(nums);
}
輸出結果:[0,1,3,5]
集合里面是對象的話:
List<ChildDto> childDtos = getChildDtos(list);
Collections.sort(childDtos, new Comparator<ChildDto>(){
@Override
public int compare(ChildDto o1, ChildDto o2) {
if(o1.getUserId() > o2.getUserId()){ // “>”號是正序 “<”是倒序 想要根據誰排序 就用對象get出來
return 1;
}
if(o1.getUserId()==o2.getUserId()){
return 0;
}
return -1;
}
});
封裝對象:
@Data
public class ChildDto implements Serializable {
/**
* 用戶名
*/
private String name;
/**
* 用戶名
*/
private String fullname;
/**
* 頭像
*/
private String avatar;
/**
* 名稱
*/
private long userId;
/**
* 是否是選定孩子 1是 其他不是
*/
private String selected;
/**
* 監護人類型
*/
private long guardianType;
/**
* 監護人名稱
*/
private String guardianName;
}
根據名稱排序,比如數據是:學生2、學生4、學生1、學生3
輸出結果:
正序[1,2,3,4]
倒序[4,3,2,1]
