首页 > 解决方案 > 如何在 Java 9 Set.of 中保持秩序

问题描述

我在测试时注意到Set.ofJava 9 的新方法不会返回 Set 的有序实现。

我怎样才能使用这些实用程序并仍然获得有序集合?还是没有办法,只有传统的?

前任。:

Set mySet = Set.of(new Integer[]{1, 2, 3, 4});
//mySet can come in any order when I iterate over it

编辑
忘了提,我需要保持数组中的顺序。

从答案看来,使用好的和旧new LinkedHashSet(Arrays.asList(myArr))的仍然是方法。

标签: javaset

解决方案


通过创建的不可变SetsSet.of不保证其元素的迭代顺序。您可以使用特定的实现,例如LinkedHashSet

Set<Integer> mySet = new LinkedHashSet<>(List.of(new Integer[]{1, 2, 3, 4}));

推荐阅读