如何在 Java 9 Set.of 中保持秩序

Luc*_*old 3 java set

我在测试时注意到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
Run Code Online (Sandbox Code Playgroud)

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

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

Mur*_*nik 5

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

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