`

TreeSet类compareTo()方法重写

 
阅读更多

1、TreeSet判断两个对象不等的条件:

     两个对象通过equals()方法比较返回false.或通过compareTo(Object obj)比较没有返回0

 

2、父类中的equals()方法

    public boolean equals(Object obj) {
           return (this == obj);
    }

 

3、重写方法规则:

  当需要把一个对象放入TreeSet中时,重写该对象对应的equals方法时,应保证该方法与compareTo方法有一样的效果。即:equals()返回true则compareTo()返回0.

 

4、重写compareTo()

  重写compareTo()方法的对象的类R要实现Comparable接口

 

  public int compareTo(Object obj) {

        R r = (R)obj;

        if(this.count > r.count) {

              return 1;

        }

         else if(this.count == r.count) {

              return ;

        }

         else {

              return -1;

        }

 }

分享到:
评论

相关推荐

    compareTo用法

    这段代码中,`Collections.sort()`方法将根据`AutoStudent`类中重写的`compareTo`方法自动对`students`列表进行排序。 #### 总结 通过本文的介绍,我们可以看到`compareTo`方法在Java中的重要性和其实现细节。正确...

    Java TreeSet类的简单理解和使用

    同时,TreeSet类需要我们自己去实现Comparable接口,重写compareTo()方法,以便于TreeSet类可以正确地对对象进行排序。 在实际应用中,TreeSet类可以用于解决许多实际问题,例如,对学生的信息进行排序和去重复、对...

    学生成绩排序(TreeSet方式实现)

    在这个例子中,`Student`类实现了`Comparable`接口,重写了`compareTo`方法,以成绩作为比较依据。这样,当我们创建一个`TreeSet<Student>`时,`TreeSet`会根据`compareTo`方法自动对学生对象进行升序排序(默认是...

    TreeSet判断重复元素解析及代码示例

    这意味着我们在自定义类并将其放入`TreeSet`时,需要确保`compareTo()`方法能正确地定义元素间的比较规则,以保证元素的唯一性和排序特性。同时,为了满足Java集合框架的常规操作,如存储在哈希表中,我们还需要适当...

    在TreeSet中添加自定义对象

    在这个例子中,我们重写了`compareTo`方法,用于比较两个`Person1`对象的年龄大小。通过这种方式,我们可以直接将`Person1`对象添加到`TreeSet`中,而不需要额外的比较器。 ```java public class testit { public ...

    【IT十八掌徐培成】Java基础第12天-02.TreeSet实现与Comparable接口.zip

    具体实现方式是在类中重写`compareTo()`方法,根据业务逻辑定义比较规则。例如,如果我们有一个`Person`类,包含`age`属性,我们可以按照年龄排序: ```java public class Person implements Comparable<Person> { ...

    day016-list和set笔记以及代码.zip

    如果是定制排序,需要创建TreeSet对象的时候,传入一个Comparetor接口实现类对象,重写compare方法 一般是默认排序用自然排序(Comparable接口),特殊排序用定制排序(Comparetor接口实现) LinkedHashSet:如果...

    HashSet,TreeSet和LinkedHashSet的区别1

    因此,如果自定义类的对象要被放入HashSet,那么必须同时重写equals()和hashCode()方法,以确保一致性。HashSet是非同步的,这意味着在多线程环境下,需要手动进行同步控制,以防止并发修改异常。 其次,...

    详解Java中HashSet和TreeSet的区别

    需要注意的是,如果要把一个对象放入 HashSet 中,重写该对象对应类的 equals 方法,也应该重写其 hashCode() 方法。其规则是如果两个对象通过 equals 方法比较返回 true 时,其 hashCode 也应该相同。另外,对象中...

    JAVA集合类.pdf

    如果你添加的不是天然可比较的对象,例如自定义的User类,那么你需要让User类实现Comparable接口,并重写compareTo()方法,定义排序规则。这样,当你向TreeSet添加User对象时,排序依据就是你在compareTo()方法中...

    Java自然排序Comparable使用方法解析

    为了使用自然排序,元素所属的类需要实现Comparable接口,并重写compareTo方法。compareTo方法返回一个整数值,用于比较两个对象的顺序。如果返回值小于0,表示当前对象小于参数对象;如果返回值等于0,表示当前对象...

    JCF(List、Set、Map)学习,实现了<key,value>按value排序噢

    对于`TreeSet`,由于其只能存储单个对象,若要按值排序,我们需要创建一个包含键值对的自定义类,然后重写`compareTo()`方法,使其根据值进行比较。例如: ```java class ValueWrapper implements Comparable...

    中兴Java开发笔试题 JSD1304.docx

    题目中Student类放入TreeSet时,如果想要按照num升序,name降序排序,需要实现Comparable接口并在Student类中重写compareTo方法,定义比较规则。同时,如果num相同,则根据name进行比较。具体实现需要考虑num和name...

    Java对象排序中文排序SortedSet排序使用和源码讲

    如果你的对象包含一个表示中文的字符串字段,可以在类中实现Comparable接口,重写compareTo方法。例如: ```java public class Person implements Comparable&lt;Person&gt; { private String name; // 构造函数、...

    实验05 集合类与泛型 实验报告.pdf

    6. **Comparable接口**:Product类实现了Comparable接口,重写了compareTo方法,使得Product对象可以进行比较,实现自定义排序。这在Arrays.sort(products)调用中得到了应用,对产品按照价格进行排序。 7. **...

    JAVA集合类[参考].pdf

    为了在`TreeSet`中实现排序,元素必须实现`Comparable`接口,提供`compareTo()`方法,或者在创建`TreeSet`时传入一个`Comparator`实例。例如: ```java Set&lt;Integer&gt; set = new TreeSet(); set.add(7); set.add(6);...

    推选Comparable自比较接口PPT资料.pptx

    对于自定义类,如果需要进行比较和排序,也需要实现Comparable接口,并重写`compareTo()`方法。这是确保自定义类对象能参与排序的关键步骤。 实现Comparable接口的类应该遵循一个重要的原则:如果`compareTo()`方法...

    Java软件开发实战 Java基础与案例开发详解 11-3 Set接口实现类 共19页.pdf

    当使用自定义类作为`HashSet`中的元素时,需要重写`hashCode()`和`equals()`方法。这是因为在`HashSet`中,元素的唯一性是由这两个方法决定的。 **Student类示例:** ```java public class Student implements ...

    Java中Comparable和Comparator的区别

    当我们需要按照特定规则对类实例进行排序时,只需要在自定义类中实现Comparable接口,并重写`compareTo()`方法,定义比较逻辑即可。 Comparator接口则位于java.util包下,它提供了一个比较两个对象的方法`compare(T...

    java中set接口使用方法详解

    元素的排序可以是自然排序,即实现`Comparable`接口并重写`compareTo()`方法,也可以是客户排序,即创建一个实现了`Comparator`接口的类并在构造TreeSet时传入。自然排序是元素自身定义的比较规则,而客户排序则是由...

Global site tag (gtag.js) - Google Analytics