java中的comparable接口如何根据学生的学号,成绩等多种情况进行定义,然后排序

1.sort

public static <T> void sort(List<T> list,
                            Comparator<? super T> c)
调用Collections.sort(),可以对list容器中的学生信息进行comparator比较器指定的顺序进行排序。
2.
class StuByNum implements Comparator<Student>{
 @Override
 public int compare(Student o1, Student o2) {
  // TODO 自动生成的方法存根
  return o1.getNum()-o2.getNum();
 } 
}
class StuByScore implements Comparator<Student>{
 @Override
 public int compare(Student o1, Student o2) {
  // TODO 自动生成的方法存根
  if(o1.getScore()>o2.getScore())
   return 1;
  if(o1.getScore()==o2.getScore())
   return 0;
  return -1;
 } 
}
3.
  List<Student> con=new LinkedList<Student>();
  Collections.sort(con, new StuByScore());
  Collections.sort(con, new StuByNum());

4.主要是理解sort(List<T> list,Comparator<? super T> c)含义。其实也很简单,想要调用Collections.sort(),就必须创建list和comparator

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值