在本文中,我们将讨论HashSet
和TreeSet
之间的差异。
HashSet
与TreeSet
1) HashSet
比TreeSet
为add
,remove
,contains
,size
等操作提供更好的性能(更快)。HashSet
提供恒定的时间成本,而对于这样的操作TreeSet
提供log(n)
时间成本。
2)HashSet
不维护任何元素顺序,而TreeSet
元素默认按升序排序。
相似之处:
1)HashSet
和TreeSet
都不包含重复元素,这意味着它们都是重复的。
2)如果你想要一个有序的Set
,那么最好将元素添加到HashSet
然后将其转换为TreeSet
,而不是创建一个TreeSet
并向其添加元素。
3)这两个类都是非同步的,这意味着它们不是线程安全的,并且在需要线程安全操作时应该显式同步。
HashSet
示例
输出:
TreeSet
示例
输出:元素按升序排序。