我用Hashtable如果存进两个hashcode一样的元素发生了冲突,查了一下如果冲突的话好像是以链表的方式实现了,那么我具体用什么方法可以把这两个元素都get到呢?
冲突了,只会有一个key,value
如果你需要所有的数据,你应该自己维护,用List做HashTable的value,然后获取的时候,遍历
查看HashMap源码如下:
if (e.hash == hash &&
((k = e.key) == key || (key != null && key.equals(k))))
return e;
如果hash值相等,在通过==或equals比较,其中有一个相等,即返回
hashtable 在建立时必须考虑冲突处理,一般是(主动)以链表的形式实现,称为bucket。你需要自己维护这样一个链表。
Java 我不太清楚,但是看了些网上例程,应该是没有实现链表扩展的功能。你可能需要继承Hashtable,自己写一个链表扩展。