Java中的有序集合(Ordered Set)通常指的是繼承自SortedSet
接口的集合,如TreeSet
。這類集合中的元素會按照自然順序或者提供的Comparator
進行排序。以下是TreeSet
支持的數據類型:
基本數據類型:
Integer
Double
Float
Long
Short
Byte
Character
(注意:Character
類實現了Comparable
接口,因此可以用于TreeSet
)封裝類:
Integer
(對應的封裝類是Integer
)Double
(對應的封裝類是Double
)Float
(對應的封裝類是Float
)Long
(對應的封裝類是Long
)Short
(對應的封裝類是Short
)Byte
(對應的封裝類是Byte
)枚舉類型:
枚舉類型天然就是有序的,因為枚舉常量在定義時就按照聲明順序進行了排序。你可以直接將枚舉類型傳遞給TreeSet
。
自定義類:
對于自定義類,只要該類實現了Comparable
接口并重寫了compareTo
方法,或者你提供了一個實現了Comparator
接口的比較器對象,那么該類的對象就可以被添加到TreeSet
中并保持有序。
請注意,雖然TreeSet
支持上述數據類型,但在使用非基本數據類型時,你需要確保正確處理對象之間的相等性和排序邏輯。例如,對于自定義類,你可能需要重寫equals
和hashCode
方法以確保集合的正確行為。