聊一聊TreeSet的特點吧~(以下都是基於jdk1.8)
繼承樹 |
TreeSet的繼承樹如下圖:
特點 |
(1)底層使用TreeMap來保存所有元素
(2)線程不安全。可通過如下方式使用線程安全的操作:
SortedSet s = Collections.synchronizedSortedSet(new TreeSet(...));
(3)能夠確保集合元素處於排序狀態,依賴於comparator。因此,當試圖將一個對象添加到集合中時,該對象必須實現Comparable接口
(4)不允許null值。
(5)底層使用紅黑樹數據結構。
(6)fail-fast機制。