gpt4 book ai didi

java - 为什么 HashSet 保持自然/字母顺序?

转载 作者:行者123 更新时间:2023-11-30 07:49:25 25 4
gpt4 key购买 nike

<分区>

当我运行下面的代码时,它总是以自然/字母顺序给出 o/p。据我所知,HashSet 不会对条目进行排序。我知道 HashSetHashMap 而不是 LinkedHashMap 支持。我试图探索 HashSetHashMap 的源代码,但找不到此行为的代码。

根据源代码,HashSet 类中有以下构造函数:

HashSet(int initialCapacity, float loadFactor, boolean dummy) {
map = new LinkedHashMap<>(initialCapacity, loadFactor);
}

它使用 LinkedHashMap。如果我使用过此构造函数,我会认为这是此行为的原因,但我没有使用此构造函数。

有人可以解释这种行为的原因/代码吗?

这是我的简单代码:

Set<String> mySet = new HashSet<>();

mySet.add("D");
mySet.add("B");
mySet.add("1");
mySet.add("E");
mySet.add("A");
mySet.add("F");

mySet.stream().forEach(x -> System.out.println(x));

OP:

1
A
B
D
E
F

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