java - 为什么 set <Integer> 是对相加的值进行排序?

标签 java set java-collections-api

当我开始向 Set<Integer> 添加值时我得到排序元素。 请引用这个例子:

Set<Integer> generated = new HashSet<Integer>();
generated.add(2);
generated.add(1);
generated.add(0);

我在这里进行排序 Set [0, 1, 2] .我想在添加到 generated 时获得值(value)对象。

最佳答案

HashSet 没有可预测的元素顺序。使用LinkedHashSet保留集合中元素的插入顺序:

Hash table and linked list implementation of the Set interface, with predictable iteration order.

Set<Integer> generated = new LinkedHashSet<Integer>();
generated.add(2);
generated.add(1);
generated.add(0);

关于java - 为什么 set <Integer> 是对相加的值进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28384783/

相关文章:

java - 如何使用相同的逻辑替换两个文件中出现的相同 'stem' 数字?

delphi - 集合的乘法运算符是否有记录?

java - CollectionUtils.isNotEmpty() 是否比 null 检查更好?

Java 转换为列表后插入数组

java - 如何将 jndi 查找从 xml 转换为 java 配置

java - 在多个不同的组件中使用事件

java字符串正则表达式分隔符

java - LinkedHashSet:hashCode() 和 equals() 匹配,但 contains() 不匹配

java - 如何从集合中获取元素?

Java如何使用Hashset在读取文件时添加带句点的字符串