黑马程序员技术交流社区

标题: HashSet和TreeSet对存储对象原理 [打印本页]

作者: liuqianfly    时间: 2015-10-16 23:12
标题: HashSet和TreeSet对存储对象原理
HashSet:里面存储结构为哈希表,哈希值是系统随机分配的,也可以自定义覆写hashCode方法。
判断元素是否重复,需要两步,第一步判断哈希值是否相等,第二步判断equals是否相等。
如果元素的hashCode相等,才会判断equals是否相等,如果元素的hashCode不相等,则不会调用equals方法。

TreeSet:可以对容器中的对象进行自动排序。
1)自定义对象需要实现Comparable接口,但是需要覆写compareTo方法,强制实现排序,具备了自然顺序。
注: 具有自动排序的类为String类,因为它的类里面实现了Comparable接口,并覆写了compareTo方法。
2)保证元素是否相同,是通过判断compareTo方法返回值为0.

在排序时,当主要条件相等时,需要判断次要条件。


作者: pan1564335    时间: 2015-10-17 00:02
八中基本数据类型都实现了Comparable接口




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