hashmap表什么鬼

没啥兴趣爱好啊 2020-03-02 07:24:50
今儿老师讲hash表是数组和链表的集合,final int hash说通过key去调用hashcode方法通过哈希算法得出的值,而且一个链表的hash值都相同,那么通过一个方法调用,值也相同,那么key就相同呗,然后说hashmap有个get(Object key)的方法得到value的值,那么,key相同hash相同,值也相同嘛,要都相同,这链表还有啥意义啊
...全文
111 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 心怀啊的回复:
通过一个方法调用,值也相同,那么key就相同呗。这句话是错误的,值相同key不一定相同。链表的作用是解决hash碰撞也就是不同key,hash却相同的问题。如果key值不同,hash相同的话需要在数组的同样位置利用头插法形成链表,jdk1.8过后在条件满足时会变成红黑树。如果在后面put一个相同的key值则会替换掉旧的value。put和get都会对key值进行比对
哦哦哦,谢谢
心怀啊 2020-03-02
  • 打赏
  • 举报
回复
通过一个方法调用,值也相同,那么key就相同呗。这句话是错误的,值相同key不一定相同。链表的作用是解决hash碰撞也就是不同key,hash却相同的问题。如果key值不同,hash相同的话需要在数组的同样位置利用头插法形成链表,jdk1.8过后在条件满足时会变成红黑树。如果在后面put一个相同的key值则会替换掉旧的value。put和get都会对key值进行比对

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧