Java集合之Hashtable源码分析
Posted 烟草的香味
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合之Hashtable源码分析相关的知识,希望对你有一定的参考价值。
概述
Hashtable也是基于哈希表实现的, 与map相似, 不过Hashtable是线程安全的, Hashtable不允许 key或value为null.
成员变量
Hashtable的数据结构和HashMap一样, 采用 数组加链表的方式实现.
几个成员变量与HashMap一样:
方法
Hashtable的方法与HashMap基本一样, 只是 Hashtable方法加上了 synchronized 关键字, 保证Hashtable是线程安全的.
主要说说Hashtable与HashMap的不同:
- Hashtable不允许 null key和null value, HashMap允许
- Hashtable是线程安全的, HashMap线程不安全
- Hashtable继承自Dictionary, HashMap继承自AbstractMap
Collections 类中存在一个静态方法:synchronizedMap(),该方法创建了一个线程安全的 Map 对象,并把它作为一个封装的对象来返回。
以上是关于Java集合之Hashtable源码分析的主要内容,如果未能解决你的问题,请参考以下文章
java集合系列(10)Hashtable源码分析(jdk1.8,推荐)
2.Java集合-ConcurrentHashMap实现原理及源码分析
Java集合框架 Map接口实现类--HashMap源码分析 & HasmMap与HashSet的关系 & HashTable & Properties(HashTable 的