嘿我现在正在做一个程序,它使用java中已经内置的哈希表。我只是想知道如果单独链接列表处理它们,如何获得在哈希表中占用相同索引的某些值。
好像“肉”,“伙伴”和“团队”这个词占据索引号285,我怎么能得到“团队”而不是肉,或者相反?
由于
- 编辑
对不起我的意思是,如果我抬起头来说'肉',我怎么能得到那个索引中的所有其他词,而不是像我说的那样查找索引。 我只想返回hashmap中索引的所有值
答案 0 :(得分:1)
如果使用Java 8,则HashMap使用树进行冲突。这意味着,对于链接列表,put / get / remove的最差情况时间为O(log N)
而不是O(N)
,就像之前的版本一样。
您还可以使用ConcurrentHashMap进行并发访问。
好像这个词"肉"和#34;交配"和#34;团队"拿起索引号285,我怎么能得到#34; team"而不是肉,或反过来?
你问的是关键,而不是索引。它只会在密钥匹配时获取值。如果您要求的密钥不存在,但会发生冲突,map.get(key)
将返回null
。
答案 1 :(得分:0)
Hashtable
,这是一个过时的课程(超过15年)。请改用HashMap
。答案 2 :(得分:0)
正如Kayaman在上面的回答中所指出的,我还建议在哈希表上使用Hashmap,因为只有在需要执行线程安全操作时才建议使用哈希表。