• 首页
  • 邻居
  • 关于
  • 归档
  • 搜索
  • 夜间模式
    ©2020-2026  我的学习笔记 Theme by OneBlog

    我的学习笔记博客

    搜索
    标签
    # 随笔 # Java # 教程 # openwrt # Mysql # SQL # 爬虫 # post # Js调优 # MAVEN
  • 首页>
  • 随笔>
  • 正文
  • CompareTO(Object o)方法的重写及其用于排序的原理

    2023年07月04日 1.3 k 阅读 0 评论 891 字

    CompareTo()方法是java.lang.Comparable接口的一个抽象方法。
    其方法的主要作用是根据依据比较 对象的大小,比如Integer型,比较的是数值的大小,String形等,
    调用这个方法的对象比 形参对象大的话返回 1 比形参小的话 返回 -1 等于 形参的话 返回 0
    根据返回的值就可以确定两个对象的大小 进而进行排列。
    注:当在重写CompareTo()方法比较String 等非数值类型属性的大小时。我们可以直接借用String 方法中的 CompareTo()方法来比较。
    向TreeSet中添加元素时,首先按照compareTo的方法进行比较,一旦返回0,虽然仅是两个对象的此属性
    值相同,但是程序扔会认为这个对象是相同的,进而后一个对象进不来。
    如:

    public int compareTo(Object o){
                if(o instanceof Person){
                Person p = (Person)o;
                return this.name.compareTo(p.name);//这里就借用String中的CompareTo()方法来比较String类型的
                                                    //的大小
                }
                return 0;
                }
    

    所以我们要比较另一个属性的大小

    public int compareTo(Object o) {
            if(o instanceof Person) {
                Person p = (Person)o;
                int i =  this.name.compareTo(p.name);
                if(i == 0) {
                    return this.age.compareTo(p.age);
                    
                }else {
                    return i;
                }
                }return 0;
                
            
        }
        
    
    }
    
    
    本文著作权归作者 [ admin ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    取消回复

    发表留言
    回复

    首页邻居关于归档
    Copyright©2020-2026  All Rights Reserved.  Load:0.017 s
    京ICP备18019712号
    Theme by OneBlog V3.6.5
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。