在Java中如何排序集合(Set)

Java 中不直接支持对“Set”进行排序。
要对 Set进行排序,请按照下列步骤操作:

  • Set转换为 List
  • 使用 Collections.sort()API 对 List进行排序。
  • List转换回 Set
// 将集(Set)转换为列表(List)
HashSet<Integer> numbersSet = new LinkedHashSet<>( 
        Arrays.asList(15, 11, 9, 55, 47, 18, 1123, 520, 366, 420) );
List<Integer> numbersList = new ArrayList<Integer>(numbersSet) ;        //set -> list

//对列表进行排序
Collections.sort(numbersList);
numbersSet = new LinkedHashSet<>(numbersList);          //list -> set

// 查看排序后的Set
System.out.println(numbersSet);

程序输出。

[9, 11, 15, 18, 47, 55, 366, 420, 520, 1123]
日期:2020-09-17 00:09:36 来源:oir作者:oir