list集合的兩種排序方法


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]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM