HashSet:里面存储结构为哈希表,哈希值是系统随机分配的,也可以自定义覆写hashCode方法。
判断元素是否重复,需要两步,第一步判断哈希值是否相等,第二步判断equals是否相等。
如果元素的hashCode相等,才会判断equals是否相等,如果元素的hashCode不相等,则不会调用equals方法。
TreeSet:可以对容器中的对象进行自动排序。
1)自定义对象需要实现Comparable接口,但是需要覆写compareTo方法,强制实现排序,具备了自然顺序。
注: 具有自动排序的类为String类,因为它的类里面实现了Comparable接口,并覆写了compareTo方法。
2)保证元素是否相同,是通过判断compareTo方法返回值为0.
在排序时,当主要条件相等时,需要判断次要条件。
|
|