HashSet 正在排序
a 的项目HashSet根本没有特定的顺序,如其javadoc中明确指出的:
它不保证集合的迭代顺序;特别是,它不保证顺序随着时间的推移保持不变。
也许您的意思是,这些项目“重新排列”的顺序与您添加项目的顺序不同,这是不希望的。
在这种情况下,只需使用LinkedHashSet而不是HashSet. 它按插入顺序维护元素。
Set<T> unique = new LinkedHashSet<T>(arrayList);
Run Code Online (Sandbox Code Playgroud)
或者,如果您更喜欢基于元素Comparable#compareTo()实现的自动排序或想要提供自定义Comparator,请改用 a TreeSet。
Set<T> uniqueAndSorted = new TreeSet<T>(arrayList);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3119 次 |
| 最近记录: |