美文网首页
TreeSet集合的一些特性。

TreeSet集合的一些特性。

作者: 朱芳芳 | 来源:发表于2017-03-16 20:24 被阅读0次

    一、1.TreeSet原理:

    * TreeSet存储对象的时候, 可以排序, 但是需要指定排序的算法。

    * Integer能排序(有默认顺序), String能排序(有默认顺序), 自定义的类存储的时候出现异常(没有顺序)。

    * 如果想把自定义类的对象存入TreeSet进行排序, 那么必须实现Comparable接口

    *   在类上implement Comparable

    *   重写compareTo()方法

    *   在方法内定义比较算法, 根据大小关系, 返回正数负数或零

    *   在使用TreeSet存储对象的时候, add()方法内部就会自动调用compareTo()方法进行比较, 根据比较结果使用      二叉树形式进行存储

    二、对自定义的一个类进行重新定义排序方法。

    step1:让这个类先实现Comparablejiekou;

    step2:重写comparato方法,在方法中定义逻辑。(自己定义比较方法);

    如下图:

    自定义一个Student类,实现comparable接口,重写comparato方法。在本类中我给了两个成员变量,我使其规定为按照其的age大小进行排序,this.age为本类实例的age,s.age为向上转型的格式,是将其要比较的对象向上转型为一个Student类。retuen其中return的(1,0,-1)将其作为结果返回代表的是大于,等于与小于。就是两个实例进行比较之后所得到的大小关系。(else if中加的判定为当年龄相等时,就去比较name,比较name的方法为treeset中默认的比较String的方法,然后得出大小关系。最后一个return的意思为当你要比较的对象不属于Student这个类时,使这个类小于所比较的所有的类,但我在声明集合类型的时候就已经声明为只能存放Student类型的,所以,不存在走最后走一个return的情况)。

    相关文章

      网友评论

          本文标题:TreeSet集合的一些特性。

          本文链接:https://www.haomeiwen.com/subject/ihujnttx.html