内部实现方式不同:TreeSet基于红黑树实现,HashSet基于哈希表实现。
有序性:TreeSet是有序的,元素按照自然顺序或者指定的排序规则进行排序。而HashSet是无序的,元素没有固定的顺序。
性能:由于TreeSet是基于红黑树实现的,插入、删除、查找等操作的时间复杂度为O(logN),而HashSet是基于哈希表实现的,操作的时间复杂度为O(1)。
元素唯一性:HashSet保证元素的唯一性,插入重复元素时不会成功。而TreeSet也保证元素的唯一性,但是它是基于比较器来判断元素是否相等的。
线程安全性:HashSet是非线程安全的,多线程情况下需要额外的同步措施。而TreeSet也是非线程安全的,也需要同步措施来保证线程安全。