gpt4 book ai didi

Java - 设置未按顺序打印

转载 作者:太空宇宙 更新时间:2023-11-04 06:20:33 25 4
gpt4 key购买 nike

我刚刚开始学习集合,有人提到它不关心顺序,与列表不同。

但是,当我输入这段代码时:

public class test {
public static void main(String[] args) {
Set<Integer> nums = new HashSet<Integer>();
nums.add(0);
nums.add(1);
nums.add(2);
nums.add(3);

for (Integer num : nums)
System.out.println(num);
}
}

根据第一行,输出应该是随机的,但它给出了有序输出:

0
1
2
3

我尝试打乱数字添加的顺序,如下所示:

public class test {
public static void main(String[] args) {
Set<Integer> nums = new HashSet<Integer>();
nums.add(1);
nums.add(0);
nums.add(3);
nums.add(2);

for (Integer num : nums)
System.out.println(num);
}
}

奇怪的是,输出仍然是有序的!

在我打印出集合的元素之前,有什么东西可以对集合进行排序吗?或者 HashSet 不适合创建无序集合?

最佳答案

HashSet 不提供任何顺序保证。这并不意味着对于某些数据集来说,秩序不能作为其实现方式的副产品而出现。只是你不能依赖它,它可能会随着实现的不同而改变,等等。

关于Java - 设置未按顺序打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27460387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com