java对象比较compareTo和TreeSet

本文探讨了Java中对象的比较方式,特别是在使用TreeSet时需要实现Comparable接口以进行自定义排序。通过Student类的例子展示了如何重写compareTo方法进行比较,并通过测试展示了TreeSet按学号、年龄和姓名进行排序的效果。此外,还介绍了Java的可变参数语法及其使用示例。
摘要由CSDN通过智能技术生成

-----------------------java对象比较和TreeSet-----------------------

 

----------------LinkedHashSet----------------

特点:
  1.
元素唯一性

  2.有序性

  3.允许null存在一个

  4.不是线程安全、不是同步的(效率高)

 

--------------TreeSet-------------------------

TreeSet 可以支持自定义排序,如果TreeSet所存储的对象的类没有实现Comparable接口就会报错ClassCastException。所以我们如果想要使用TreeSet来自定义的对象来排序必须实现Comparable接口。

    特点:

1.        元素唯一性

2.        可自定义排序的(自动做自然排序)

3.        不允许null存在

4.        不是线程安全

排序:

类必须要实现一个接口Comparable<T>才能做排序。

例子:

创建一个Sudent类,重写父类的compareTo方法

package cn.tx.set;

 

public  class  Student  implements  Comparable<Student>{

     

   private  intstuId;

  

   private String name;

  

   privateintage;

 

   public  int  getStuId() {

      return  stuId;

   }

 

   public  void setStuId(intstuId) {

      this.stuId = stuId;

   }

 

   public String getName() {

      returnname;

   }

 

   public  void  setName(String name) {

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值