黑马程序员技术交流社区
标题:
关于TreeSet的排序想深刻研究下,希望知道朋友解答下。
[打印本页]
作者:
刘源
时间:
2012-7-13 17:58
标题:
关于TreeSet的排序想深刻研究下,希望知道朋友解答下。
本帖最后由 刘源 于 2012-7-15 00:31 编辑
毕老师总结了,TreeSet的二种排序方式:一种是让元素实现Comparable接口,覆盖compareTo方法。
第二种是定义一个类实现Comparator接口,覆盖compare方法。让后传到TreeSet的对象中。
-----这里我就想问了,这个是为什么了啊,是为了复写TreeSet里面的compare方法吗,但TreeSet里面没有啊。这里面是什么关系啊。Comparable和Comparator这2个接口还有特殊关系吗,为什么是已Comparator接口的比较器为主啊,难度Comparator也向TreeSet里面传了东西吗,但是我们不知道。
虽然方法记住了,结论也记住了,源码也看了一眼(虽然看不懂)。但也有点想知道啊他们之间的关系,希望高手们能解答下,最好把他们相关的源码接下了分析哈。。。有劳各位大神了。:D
作者:
游兴钟
时间:
2012-7-13 18:50
难度有点大{:soso_e127:}我都有出动度娘的冲动了
作者:
刘源
时间:
2012-7-14 10:22
难度大,就算了。我也就是想找个明白人,研究下,哈哈,必须我 感觉这个问题还是很有研究价值的,毕竟以后在去用的时候就不会考虑这么多了。拿来用就行了,
希望和我一样的人先关注这个帖子。这也是一种帮助。
作者:
陈淑飞
时间:
2012-7-14 10:35
TreeSet ,底层 数据存储是 二叉树结果。
这种结果,是有序的存储。
那么,存储的元素必须是有可比较性的。
所以要弄Comparable或Comparator。
而Comparator的方式比Comparable更灵活,可以实现在用TreeSet时,再来决定 元素以什么方式来排序。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2