我讨论了这个奇怪的话题:为什么HashSet类按升序排序1到9位数,尽管其余数字的排序不是升序。我知道HashSet专注于速度的想法。但如果有人能解释为什么只对1到9的数字进行排序,我将不胜感激。
示例:
public static void main(String[] args) {
int count[] = {3, 2, 3, 7, 6};
Set<Integer> set = new HashSet<>();
for (int i = 0; i < 5; i++) {
set.add(count[i]);
}
System.out.println(set);
}
Output: [2, 3, 6, 7]
如果是int count[] = {44,32,87,32,11};
输出:[32,87,11,44]
答案 0 :(得分:5)
HashSet
上的迭代顺序取决于三个因素:
Integer#hashCode()
HashSet
观察到的行为只是巧合。