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]

 

转载于:https://www.cnblogs.com/houpengwei/p/10670313.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值