小菜狮子 2018-11-24 02:17 采纳率: 60%
浏览 1118
已结题

HashMap的Entry链问题

HashMap的Entry链不太清楚具体作用,HashMapkey是不能重复的吧,那他的key重复value不重复就形成了一个Entry链,value覆盖。那他之前存储的entry是有什么作用。。。不是性能浪费了吗

  • 写回答

2条回答 默认 最新

  • 流浪发师 2018-11-24 02:35
    关注

    Entry链是为了解决Hash冲突而存在的,不同的key可能hash值一样,这个时候就会散列在同一个position上面,解决Hash冲突的办法有很多种,
    Java使用的就是拉链法,即hash值一样的就形成一条链,HashMap的key是不能重复的,因为需要进行查找,如果key不唯一,就不用说查找了,
    HashMap的jdk1.8版本以上用了新的办法,当拉链个数大于8个时候采用红黑树,这样可以提高查找效率,重新hash之后,如果链数小于6,又会
    重新转为链表结构。因此出现Hash冲突,性能是必然要打折扣的

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题