Java 使用链表进行散列

Java 使用链表进行散列,java,hash,linked-list,Java,Hash,Linked List,我正在尝试一种形式的合并散列,要做到这一点,我需要维护多个链表,这些链表是在您尝试向表中插入某些内容时创建的,并且它与另一个对象发生冲突。如何在add(object x)函数中创建多个链表,然后在find(object x)函数中再次调用同一个链表 例如,如果我的散列值为5,而bucket 5已被占用,我将创建一个以bucket 5为头的链表,然后创建一个新节点,在该节点中,我试图放入bucket 5的对象最终被放入。这样,当我试图找到后面的对象时,而不是探测表,我可以按照我创建的链接列表引用插

我正在尝试一种形式的合并散列,要做到这一点,我需要维护多个链表,这些链表是在您尝试向表中插入某些内容时创建的,并且它与另一个对象发生冲突。如何在add(object x)函数中创建多个链表,然后在find(object x)函数中再次调用同一个链表

例如,如果我的散列值为5,而bucket 5已被占用,我将创建一个以bucket 5为头的链表,然后创建一个新节点,在该节点中,我试图放入bucket 5的对象最终被放入。这样,当我试图找到后面的对象时,而不是探测表,我可以按照我创建的链接列表引用插槽5,然后按照它找到我的对象


我的问题是,我不知道如何为不同的碰撞维护多个链表,然后在稍后尝试查找对象时调用相应的链表。非常感谢您的帮助。

如果您试图复制类似于
HashMap
的内容(听起来很像),您需要将链接列表保留在搜索树中,这样您就可以找到正确的列表来插入,并在合理的时间内找到对象。

简而言之,你在重新设计HashMap,对吗?源代码是可用的。你可以看。