黑马程序员技术交流社区

标题: comparable和comparator [打印本页]

作者: hel    时间: 2013-11-12 19:00
标题: comparable和comparator
comparable和comparator到底有什么区别呢?
在什么时候用comparable
什么时候用comparator 呢?
作者: 零下五度的水    时间: 2013-11-12 19:12
如果你的比较方式是中规中矩的,比如 10 < 11, a 在 z 前面,就可以用 Comparable
如果你的比较方式比较奇葩,比如 奇数在前偶数在后,aAbBcC这么排,就得用 Comparator
作者: 明月几时有    时间: 2013-11-12 23:49
本帖最后由 明月几时有 于 2013-11-12 23:51 编辑

TreeSet底层数据结构是二叉树结构,有两种排序方式:
一:让元素自身具有比较性,元素需要实现comparable接口,重写compareto方法,这种方法也叫元素的自然顺序或者叫默认顺序
二:当元素自身不具有比较性,或者比较性不是我们所要的,就要再定义一个构造器comparator,在集合初始化的时候传入。

系统的总结了一下,重要的是第二句话!





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