相关疑难解决方法(0)

HashSet的迭代顺序

如果每个对象添加到java.util.HashSet中以确定性的方式实现的Object.Equals()和是Object.hashCode(),是迭代顺序在HashSet的保证用于每加入相同组元素是相同的,而不管的他们被添加的顺序?

奖金问题:如果插入顺序相同怎么办?

(假设Sun JDK6具有相同的HashSet初始化.)

编辑:我原来的问题不明确.它不是关于HashSet的一般契约,而是Sun在JDK6中对HashSet的实现提供了关于确定性的保证.它本质上是非确定性的吗?什么影响其迭代器使用的顺序?

java algorithm collections hashset

18
推荐指数
4
解决办法
2万
查看次数

哈希集订购问题

最近我遇到了这个

String s = "9495963";
Set<Character> set = new HashSet<Character>();
for(char e : s.toCharArray()){
  set.add(e);
}
System.out.println(set);//[3, 4, 5, 6, 9]
Run Code Online (Sandbox Code Playgroud)

我得到的输出是[3,4,5,6,9],所以,如果HashSet不保留任何顺序,那么为什么这些数字按升序排列?

java hashset treeset

-4
推荐指数
1
解决办法
80
查看次数

标签 统计

hashset ×2

java ×2

algorithm ×1

collections ×1

treeset ×1