目录
Hash Map:
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。
HashMap 是无序的,即不会记录插入的顺序。
HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口
Hash Table:
Hashtable是原始的java.util的一部分, 是一个Dictionary具体的实现 。
然而,Java 2 重构的Hashtable实现了Map接口,因此,Hashtable现在集成到了集合框架中。它和HashMap类很相似,但是它支持同步。
像HashMap一样,Hashtable在哈希表中存储键/值对。当使用一个哈希表,要指定用作键的对象,以及要链接到该键的值。
然后,该键经过哈希处理,所得到的散列码被用作存储在该表中值的索引。
区别:
1、继承的父类不同
Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。
HashMap与HashTable的对比解析

本文详细比较了HashMap和HashTable的差异,包括它们的继承结构、数组初始化与扩容策略、底层实现以及线程安全性。HashMap是非同步的,适用于单线程环境,允许键值为null,而HashTable则是线程安全的,不支持null键值,且在多线程环境下效率较低。
最低0.47元/天 解锁文章
1657

被折叠的 条评论
为什么被折叠?



