本帖最后由 sshber 于 2014-08-04 01:03:03 编辑

解决方案 »

  1.   

    返回linked list,例如:Hashtable<String,List<String>> table=new Hashtable<String,List<String>>();List<String> value=table.get("key");
      

  2.   

    在一个hashtable中,不存在一个key对应多个value的问题,如果两个对象的equals方法返回true,则会认为是相同的对象,在一个hashtable中是不能有两个equals返回true的key的。我觉得你的意义可能是两个对象的hashcode值相同,这样两个key对应的对象是存在一个linklist中的,但是通过get方法获取的时候,首先是通过hashcode定位,然后再通过equals遍历的。
      

  3.   

    key 有多个value ??是要说 可不可以是重复的吗??
      

  4.   

    哈希算法怎么可能是同一个Key对应多个Value呢?
    那样的话是覆盖而不是存成什么LinkList
    除非自己实现这个功能。
    另外Hashtable没有getValue方法,
    楼主从哪里得到这些想法的?
      

  5.   

    Hashtabled的hash()是有可能出这种问题的,不同key相同value时,后一次put的value值会把前一次的value覆盖掉,所以只会返回最后一个value。
    HashMap的hash()会好很多,如果可以的话换了试试。
      

  6.   

    楼主一定是搞混了理论上的hash表和jdk中hashtable的实现。只有数据结构课上面才会教你这些个冲突检测,但实际上JDK用的时候完全不需要考虑hash值冲突之后的检测问题。