猪儿拱 2022-09-30 02:18 采纳率: 0%
浏览 134
已结题

重写compareTo方法后,为什么return this.age-s.age是升序,反之是降序

在一个学生类中,重写compareTo(Student s)方法后,为什么return this.age-s.age是升序,反之是降序,这里的age是个int类型的成员变量

  • 写回答

5条回答 默认 最新

  • CSDN专家-sinJack 2022-09-30 08:34
    关注
    获得2.85元问题酬金

    compareTo方法只是用来计算两个数的大小。

    1. this.age大于s.age时,返回1,说明当前对象属性值比参数大。
    2. this.age小于s.age时,返回-1,说明当前对象属性值比参数小。
    3. this.age等于s.age时,返回0,说明当前对象属性值与参数相等。

    Collections.sort()才是实现排序的方法。
    sort方法默认的排序规则是升序。
    可以定义一个基础数据类型的集合,对集合数据进行排序,默认是升序的结果。

    ArrayList<Integer> list=new ArrayList<>();
    list.add(1);
    list.add(5);
    list.add(3);
    Collections.sort(list);
    System.out.println("排序结果:"+list);
    
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月8日
  • 创建了问题 9月30日

悬赏问题

  • ¥20 校园二手交易小程序搭建
  • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
  • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
  • ¥20 python,计算区位熵和扩张指数
  • ¥15 Python环境配置
  • ¥15 大四学生的困惑,有偿提问!
  • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
  • ¥15 arduino测量电阻
  • ¥15 快手uid转快手号谁能解决 需要开发
  • ¥15 iis部署Django时css不生效,来个真人,ai不好使