內(nèi)部實(shí)現(xiàn)方式不同:TreeSet基于紅黑樹實(shí)現(xiàn),HashSet基于哈希表實(shí)現(xiàn)。
有序性:TreeSet是有序的,元素按照自然順序或者指定的排序規(guī)則進(jìn)行排序。而HashSet是無序的,元素沒有固定的順序。
性能:由于TreeSet是基于紅黑樹實(shí)現(xiàn)的,插入、刪除、查找等操作的時(shí)間復(fù)雜度為O(logN),而HashSet是基于哈希表實(shí)現(xiàn)的,操作的時(shí)間復(fù)雜度為O(1)。
元素唯一性:HashSet保證元素的唯一性,插入重復(fù)元素時(shí)不會(huì)成功。而TreeSet也保證元素的唯一性,但是它是基于比較器來判斷元素是否相等的。
線程安全性:HashSet是非線程安全的,多線程情況下需要額外的同步措施。而TreeSet也是非線程安全的,也需要同步措施來保證線程安全。