我想知道是否可以排序LinkedHashSet。我已經試過聲明排序LinkedHashSet
Collections.sort((List<Comparable> paragraph);
然而,這只是拋出一個錯誤,它不能被鑄造成一個列表。有沒有辦法做到這一點,或者我應該使用另一個數據結構?
我想知道是否可以排序LinkedHashSet。我已經試過聲明排序LinkedHashSet
Collections.sort((List<Comparable> paragraph);
然而,這只是拋出一個錯誤,它不能被鑄造成一個列表。有沒有辦法做到這一點,或者我應該使用另一個數據結構?
如果您關心基於比較的排序(例如排序順序),則應該使用SortedSet
,如TreeSet
或ConcurrentSkipListSet
。
A LinkedHashSet
保留訂單根據插入訂單。
如果你真的想使用Collections.sort
您可以通過實際構建List
(雖然這個問題並沒有告訴我們的paragraph
的類型,所以我會假設它是String
)
List<String> listParagraph = new ArrayList<String>(paragraph);
Collections.sort(listParagraph)
的LHS轉換成一個列表
但這可能不是最好的方法。
Collections.sort不適用於Set
s,僅限於List
s。如果您需要對已在Set
中的數據進行排序,則可能需要先將它們添加到List
中。
您可以將LinkedHashSet對象(linkedHashSet)添加到TreeSet中並對它進行排序。
TreeSet<T> treeSet = new TreeSet<t>();
treeSet.addAll(linkedHashSet);
treeSet是有序集合。
請注意,您需要使這些T類型具有可比性(通過實現Comparator接口)。
改爲使用'TreeSet'。 –
你可以使用SortedSet – Tala
改爲使用sortedSet,在數學視圖中導致'set'沒有順序 – nachokk