黑马程序员技术交流社区

标题: TreeSet如何保证元素的唯一性呢 [打印本页]

作者: 任亚俊    时间: 2013-12-26 16:42
标题: TreeSet如何保证元素的唯一性呢
TreeSet我用的很少,不知道大家用的多不多,我用的多的是ArrayList和HashMap。
1.能不能给我举个TreeSet的应用示例?
2.TreeSet如何保证元素的唯一性呢?
3.TreeSet是怎样利用二叉树这种数据结构的?

作者: 程洋    时间: 2013-12-26 17:35
TreeSet保证元素唯一性的依据:用compareto这个方法来验证来验证两个元素是否相同,返回值为零表示两数相同,不存,返回正数,表示新来的元素大于已有的元素,返回负数,表示小于已有的元素。
TreeSet有两种排序方式:
第一种:让元素自身具备比较性。元素需要实现Comparable接口,覆盖compareTo方法,这种排序的结果是元素的自然顺序。
第二种:出现第二种方式的原因是:元素自身不具备比较性或者具备的比较性不是所需求的,这是可以让集合自身具备比较性。


作者: 小骗子    时间: 2013-12-27 10:29
其实这样说你就明白了
HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的。
他们把Map中的Key作为一类元素归结起来,而Map的Key是唯一的。

作者: javaking    时间: 2015-8-15 16:23
赞一个!




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