黑马程序员技术交流社区

标题: 关于比较器Comparator [打印本页]

作者: 小路飞    时间: 2013-3-19 14:07
标题: 关于比较器Comparator
本帖最后由 侯国奇 于 2013-3-20 00:46 编辑

想问一下,是不是只有TreeSet和TreeMap可以用比较器?其他集合只能用Comparable?
作者: 谢洋    时间: 2013-3-19 16:52
先明确为什么要用比较器,如果你的集合都没有或不需要排序功能,那你用比较器干什么?
作者: 顾传文    时间: 2013-3-19 17:42
TreeSet的底层数据结构是二叉树,TreeSet其实就是TreeMap集合中的KeySet。

二叉树在排序时需要比较两个元素的自然顺序,这时候就需要使用到Comparable接口中的compareTo方法或Comparator接口的compare(Object o1,Object o2方法)。

其它集合并不用比较元素的自然顺序,自然就用不到Comparable或Comparator




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