猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
大佬们遇到过这个问题吗?哈希冲突用链表解决冲突,返回哪个元素?万分感谢
在解决哈希冲突时有一种方法叫链地址法,就是把相同key的value用链表串起来。那么,当用这些相同的key取值时,会得到这个链表,可是链表里有多个值,要返回哪一个值给用户?
哔哔one
浏览 450
回答 2
2回答
慕莱坞森
finalNodegetNode(inthash,Objectkey){Node[]tab;Nodefirst,e;intn;Kk;if((tab=table)!=null&&(n=tab.length)>0&&(first=tab[(n-1)&hash])!=null){if(first.hash==hash&&//检查第一个Node是否性相等((k=first.key)==key||(key!=null&&key.equals(k))))returnfirst;if((e=first.next)!=null){if(firstinstanceofTreeNode)//红黑树中查找return((TreeNode)first).getTreeNode(hash,key);do{//链表查找if(e.hash==hash&&((k=e.key)==key||(key!=null&&key.equals(k))))returne;}while((e=e.next)!=null);}}returnnull;}源码是通过hash和equals比较返回的
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续