java - 如何在 Java 9 Set.of 中保持秩序
问题描述
我在测试时注意到Set.of
Java 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))
的仍然是方法。
解决方案
通过创建的不可变Set
sSet.of
不保证其元素的迭代顺序。您可以使用特定的实现,例如LinkedHashSet
:
Set<Integer> mySet = new LinkedHashSet<>(List.of(new Integer[]{1, 2, 3, 4}));
推荐阅读
- javascript - JS引擎如何区分null和undefined
- php - MYSQL+PHP 如何在删除表中的行时更新自动递增的 id?
- swift - Xcode 9.4.1 - 如何跳过集合的剩余部分并移动到下一个集合
- python - Sort list to make letters come before digits in any position
- mysql - MySQL 存储过程的独立于事务的数据库托管日志记录
- papaparse - 使用反斜杠转义的 Papa Parse
- gams-math - GAMS 中的字符串变量
- delphi - Delphi TPageControl 仅为一个标签页设置标签宽度
- javascript - 将 onselectionchange 添加到 vue
- javascript - 当设置一个 svg 显示:无时,其他 SVG 元素变为黑色