Java的哈希集使用相同的哈希代码处理多个项

Java的哈希集使用相同的哈希代码处理多个项,java,hashset,hashcode,Java,Hashset,Hashcode,我在任何地方都找不到这个问题的答案。 我在java中向一个哈希集添加了100000个具有相同哈希代码的不同字符串,耗时63毫秒。 链表耗时373毫秒 我想知道Java的hashSet如何处理这种情况 这是一个练习的一部分,我的实现花费了更长的时间——包括开放式实现——将字符串添加到链表中,以及封闭式实现——我在其中找到具有给定公式的下一个开放单元。在OpenJDK HashMaps&HashSets中,如果散列桶中有很多项,则返回TreeMap/TreeSet: 另外,不要与LinkedList

我在任何地方都找不到这个问题的答案。 我在java中向一个哈希集添加了100000个具有相同哈希代码的不同字符串,耗时63毫秒。 链表耗时373毫秒

我想知道Java的hashSet如何处理这种情况


这是一个练习的一部分,我的实现花费了更长的时间——包括开放式实现——将字符串添加到链表中,以及封闭式实现——我在其中找到具有给定公式的下一个开放单元。

在OpenJDK HashMaps&HashSets中,如果散列桶中有很多项,则返回TreeMap/TreeSet:


另外,不要与LinkedList进行比较,而是与ArrayList进行比较-LinkedList速度较慢,而且几乎从未使用过/有用。

这一定是您为此编写的一个简单测试,您能否发布它,因为它听起来不太现实?您是如何使用相同的哈希代码生成100k字符串的?我学习计算机科学,他们给了我们带字符串的文件。Oleg Sklyar-不知道你在说什么。什么是不现实的?