java全排列算法 Java遍历HashSet时,为什么输出是有序的?

Java遍历HashSet时,为什么输出是有序的?首先,上面是hash的类描述,表示hash可以是无序的,也可以是有序的。问一下会是什么样子,让我们看看HashSet的源代码实现。HashSet的底层

Java遍历HashSet时,为什么输出是有序的?

首先,上面是hash的类描述,表示hash可以是无序的,也可以是有序的。问一下会是什么样子,让我们看看HashSet的源代码实现。

HashSet的底层由具有空键的HashMap存储。

HashMap的数据结构是table[entry],这是一个链表结构,每个数据元素都是一个链表。具有相同hashcode的不同键将落在表[hashcode]的链表上。

但是当HashMap存储值时,它将根据密钥的hashcode()计算存储位置(该位置是散列的,所以它是无序的);

它感觉是有序的,因为hashcode()不重复。样本太少的原因