java集合之Hashtable

1、Hashtable是基于哈希表的Map接口的同步实现,不允许使用null值和null键

底层使用数组实现,数组中每一项是个单链表,即数组和链表的结合体

2、Hashtable在底层将key-value当成一个整体进行处理,这个整体就是一个Entry对象。

3、Hashtable底层采用一个Entry[]数组来保存所有的key-value对,当需要存储一个Entry对象时,会根据key的hash算法来决定其在数组中的存储位置,在根据equals方法决定其在该数组位置上的链表中的存储位置;当需要取出一个Entry时,也会根据key的hash算法找到其在数组中的存储位置,再根据equals方法从该位置上的链表中取出该Entry。

4、synchronized是针对整张Hash表的,即每次锁住整张表让线程独占


参考文献:http://blog.csdn.net/zheng0518/article/details/42199477

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ArrayList实现原理要点概括 参考文献:http://zhangshixi.iteye.com/blog/6...
    晨光光阅读 1,097评论 0 1
  • Java集合类可用于存储数量不等的对象,并可以实现常用的数据结构如栈,队列等,Java集合还可以用于保存具有映射关...
    小徐andorid阅读 1,978评论 0 13
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,292评论 0 16
  • 摘要 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Deve...
    周二倩你一生阅读 1,276评论 0 5
  • 二零一九年七月十七日下午四点,考完期末试的我们终于迎来了期盼已久的暑假。 下午考完英语 和我的好朋友就约好一起出去...
    醣丝_6d2e阅读 247评论 0 0