本帖最后由 暗影流光 于 2014-7-9 19:59 编辑
HashSet:
哈希表确定元素是否相同:
1)判断的是两个元素的哈希值是否相同,如果相同,再判断两个对象的内容是否相同。
2)判断哈希值是否相同用的是对象的hashCode方法,判断两个对象的内容是否相同,用的是equals方法。
哈希冲突:哈希值相同,但是内容不同,解决方法时串联或者顺延。
TreeSet:
可以对集合中的元素进行自然排序。
在TreeSet中,判断元素唯一性的方法是,根据compare比较方法,返回结果是0,则元素相同,不存。
TreeSet对元素进行排序的方式一:
让元素自身具备比较功能,元素需要实现comparable类,覆盖compareTo方法;
TreeSet对元素进行排序的方式二:
让集合自身具备比较功能,通过comparator比较器,在集合对象创建过程中传入一个自定义比较器。
定义一个类实现comparator接口,覆盖compare方法,将该类对象作为参数传递给TreeSet集合的构造方法。 |
|