如何对 HashSet 进行排序?

2022-01-17 00:00:00 set sorting collections java hashset

对于列表,我们使用 Collections.sort(List) 方法.如果我们想对 HashSet 进行排序怎么办?

For lists, we use the Collections.sort(List) method. What if we want to sort a HashSet?

推荐答案

HashSet 不保证其元素的任何顺序.如果您需要此保证,请考虑使用 TreeSet 来保存您的元素.

A HashSet does not guarantee any order of its elements. If you need this guarantee, consider using a TreeSet to hold your elements.

但是,如果您只需要针对这一事件对元素进行排序,则只需临时创建一个 List 并对其进行排序:

However if you just need your elements sorted for this one occurrence, then just temporarily create a List and sort that:

Set<?> yourHashSet = new HashSet<>();

...

List<?> sortedList = new ArrayList<>(yourHashSet);
Collections.sort(sortedList);

相关文章