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]