Java集合之Hashtable源码分析

前端之家收集整理的这篇文章主要介绍了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相关文章