对LinkedHashSet进行排序

我想知道是否可以对LinkedHashSet进行排序。 我试过这个声明

Collections.sort((List paragraph);

但是,这只会抛出一个错误,无法将其转换为List。 有没有办法做到这一点,还是应该使用其他数据结构?

如果您关心基于比较的排序(例如,排序顺序),则应使用诸如TreeSetConcurrentSkipListSet类的SortedSet

LinkedHashSet根据广告订单保留订单

如果你真的想使用Collections.sort你可以通过实际构建一个List将LHS转换为List(虽然问题没有告诉我们paragraph的类型,所以我假设它是String

 List listParagraph = new ArrayList(paragraph); Collections.sort(listParagraph) 

但这可能不是最好的方法。

Collections.sort不适用于Set s,仅适用于List s。 如果需要对Set已有的数据进行排序,可能需要先将它们添加到List

您可以将LinkedHashSet对象(linkedHashSet)添加到TreeSet,它将被排序。

 TreeSet treeSet = new TreeSet(); treeSet.addAll(linkedHashSet); 

treeSet是有序集。

请注意,您需要使这些T类型具有可比性(通过实现Comparator接口)。