黑马程序员技术交流社区

标题: <左右>TreeSet集合为什么要重写compareTo方法的理解 [打印本页]

作者: 左右.律    时间: 2016-9-9 22:57
标题: <左右>TreeSet集合为什么要重写compareTo方法的理解
    TreeSet集合最主要的功能就是能够对存入的元素进行排序,一个容器想要对存入的元素进行排序无外乎有两种方式,其一是将元素放入集合中,元素本身具有比较的能力,TreeSet只要利用其特性便能对元素排序;其二是,集合本身就具有了对存入的元素进行排序的能力,所以自己能办到的话,就不再要求元素能够比较了.
    我先对方式一进行了理解.随意创建好了一个类的多个对象,不是每个类的对象都具有比较的能力的,有些有,有些没有;而java针对这种情况专门定义好了一个接口,只要实现了该接口的类都具有比较的能力.所以,要让元素具有排序的能力,我们要先让其实现Comparable接口,让其具有比较的能力,然后在重写compareTo()方法,来按照我们的要求排序.
    还有就是在比较的值中有个特别的值需要注意,就是当compareTo()方法返回值为0的时候,TreeSet集合会判定为元素重复,不存.





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2