Java集合之Hashtable源码分析

Posted 烟草的香味

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合之Hashtable源码分析相关的知识,希望对你有一定的参考价值。

概述

Hashtable也是基于哈希表实现的, 与map相似, 不过Hashtable是线程安全的, Hashtable不允许 key或value为null.

成员变量

Hashtable的数据结构和HashMap一样, 采用 数组加链表的方式实现.

几个成员变量与HashMap一样:

Java集合之Hashtable

 

方法

Hashtable的方法与HashMap基本一样, 只是 Hashtable方法加上了 synchronized 关键字, 保证Hashtable是线程安全的.


主要说说Hashtable与HashMap的不同:

  1. Hashtable不允许 null key和null value, HashMap允许
  2. Hashtable是线程安全的, HashMap线程不安全
  3. Hashtable继承自Dictionary, HashMap继承自AbstractMap

Collections 类中存在一个静态方法:synchronizedMap(),该方法创建了一个线程安全的 Map 对象,并把它作为一个封装的对象来返回。

以上是关于Java集合之Hashtable源码分析的主要内容,如果未能解决你的问题,请参考以下文章

java集合系列(10)Hashtable源码分析(jdk1.8,推荐)

java进阶|HashTable源码分析和理解

2.Java集合-ConcurrentHashMap实现原理及源码分析

Java集合框架 Map接口实现类--HashMap源码分析 & HasmMap与HashSet的关系 & HashTable & Properties(HashTable 的

Java并发:并发集合ConcurrentHashMap的源码分析

Java 集合源码分析HashMap