java集合及并发包.pptVIP

  • 1
  • 0
  • 约1.12千字
  • 约 17页
  • 2017-06-08 发布于湖北
  • 举报
Java 集合与并发包 产品开发一部 --姜子祥 目 录 contents A 一、java集合 A 二、java并发包 Collection体系 List Set Map ArraryList HashSet List Set Map HashMap 数据结构 List Set Map HashMap Entry List Set Map List Set Map HashMap 数据分布策略 Collection 序列化疑惑 List Set Map HashMap 数学玄机 左边两组是数组长度为16(2的4次方),右边两组是数组长度为15。两组的hashcode均为8和9,但是很明显,当它们和1110“与”的时候,产生了相同的结果,也就是说它们会定位到数组中的同一个位置上去,这就产生了碰撞,8和9会被放到同一个链表上,那么查询的时候就需要遍历这个链表,得到8或者9,这样就降低了查询的效率。同时,我们也可以发现,当数组长度为15的时候,hashcode的值会与14(1110)进行“与”,那么最后一位永远是0,而0001,0011,0101,1001,1011,0111,1101这几个位置永远都不能存放元素了,空间浪费相当大,更糟的是这种情况中,数组可以使用的位置比数组长度小了很多,这意味着进一步增加了碰撞的几率,减慢了查询的效率 List Se

文档评论(0)

1亿VIP精品文档

相关文档