HashSet
hashCode() + equals(),底层先通过存入对象,进行运算得到一个hash值,通过hash值得到对应的索引。如果table索引所在的位置没有数据,就直接存放;如果有数据,就进行equals比较[遍历比较],比较后不相同,就加入,否则就不加入。
TreeSet
如果实例化的时候传入了一个Comparator匿名对象,就使用实现的compare去重(方法返回0即认为是相同的元素/数据,不添加,反之添加),如果实例化时没有传入一个Comparator匿名对象,则以添加的对象实现的Comparator接口的compareTo去重