黑马程序员技术交流社区
标题:
TreeSet排序的两种方式
[打印本页]
作者:
yanglfree
时间:
2013-9-24 08:50
标题:
TreeSet排序的两种方式
本帖最后由 黄兴旺 于 2013-9-24 19:58 编辑
第二种方式:当元素自身不具备比较性,或者具备的比较性不是所需的,这时需要让集合自身具备比较性。
当元素自身不具备比较性时,用第二种方式
那么用第二种方式的时候,到底还需不需要元素自身具备比较性?还是只需要让集合自身具备比较性即可?
从编程的结果来看,元素还是需要实现Comparable接口的,但是还是需要来确认一下。
作者:
陈洋
时间:
2013-9-24 10:39
先让元素自身带有比较性,然后根据需求,传入比较器,对元素进行重新比较排序。
作者:
jìng╮煜
时间:
2013-9-24 12:16
那.这么跟你说啦.
每个集合都有自己的比较方式,如果传入的是一个String或者Integer当然很方便就能看出来他们各自的比较方式.
但是如果是个对象,那么就不好比较了.你说的需要现Comparable接口其实是给集合用的,集合会调用对象里被复写的comparto方法.来看返回的值是大还是小.
(有误请指点....)
作者:
code_geass
时间:
2013-9-24 13:50
当然需要。这是万全的准备,你的对象具备比较性,算是默认排序,当你需要它按照其他规律排序的时候再传个个比较器进去就行了。
作者:
杨修
时间:
2013-9-24 15:24
当TreeSet集合中,当元素自身不具备比较性,或者具备的比较性不是所需的,这时需要让集合自身具备比较性。
当元素自身具备了比较性,并且集合自身也具备了比较性,这时候就以比较器的比较性为准,此时元素自身可以不实现Comparable接口。
当元素自身不具备比较性,此时集合自身就必须实现Comparator接口。也就是两种比较方式至少需要有一种,如果两种都存在,就以集合自身比较器为准。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2