首页 > 其他 > 详细

HashMap要点总结

时间:2015-12-29 17:46:43      阅读:173      评论:0      收藏:0      [点我收藏+]
  1. 数组,链表来实现的hashmap

    技术分享

  2. 当不停的往里放置元素,会造成resize操作,即重新生成数组,重新为每个元素hash,消耗性能

    数组默认长度是16 , load factor为0.75 , 所以resize的时机是数组的capacity > 12


  3. static int indexFor(int h, int length) {  
           return h & (length-1);  
       }

  4. java会用key的hashcode值与数组的槽数-1进行与运算;

    这里会有一个问题只有当数组的槽数为2的n次方-1,其二进制全是1的(如2的2次方-1=11)的时候哈希值产生碰撞的概率是最小

  5. hashmap的问题, 多线程时hashmap会产生死循环,可以使用concurrentHashMap


HashMap要点总结

原文:http://754136.blog.51cto.com/744136/1729581

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!