本帖最后由 廖理 于 2012-5-14 14:59 编辑
因为HashSet的底层数据结构是哈希表,并且是无序的,这里的无序指的是存入和取出的顺序,并且他里卖弄的元素是不可重复的,
所以,HashSet依赖的方法是hashCode()和equals();用不到比较器,所以如果要装入HashSet中必须要复写hashcode和equals方法。
而TreeSet的底层结构是二叉树结构,并且是有序的,所以就需要用到比较器来限定比较的规则,决定谁前谁后。所以要将元素装入TreeSet
中,类必须实现Comparable接口并复写compareTo方法,或者定义一个实现了Comparator接口的比较器,并将此比较器的对象作为参数传入
TreeSet的构造函数 |