`

Hashtable和HashMap

 
阅读更多
2者概念:

Hashtable继承自Dictionary类

HashMap是Java1.2引进的Map interface的一个实现

2者区别:

1)Hashtable不允许将null作为一个entry的key或者value,而 HashMap允许

2)Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异
分享到:
评论

相关推荐

    经典讲解List和ArrayList和Vector和HashTable和HashMap区别

    在Java编程语言中,集合框架是处理对象数组的重要工具,其中`List`、`ArrayList`、`Vector`、`HashTable`和`HashMap`是五个关键的接口和类,它们各有不同的特性和用途。以下是这些概念的详细解释: 1. **List接口**...

    hashtable和hashmap的区别

    ### Hashtable和HashMap的区别 在Java编程语言中,`Hashtable`和`HashMap`是两种非常重要的数据结构,它们都实现了`Map`接口,用于存储键值对。尽管它们有着相似的功能,但在实现细节和应用场景上存在显著差异。接...

    Hashtable和HashMap的区别:

    在Java编程语言中,`Hashtable` 和 `HashMap` 都是用来存储键值对的数据结构。这两种数据结构虽然相似,但是在实现细节上存在显著差异。 1. **Hashtable**:作为 `Dictionary` 类的子类,`Hashtable` 是 Java 最早...

    Hashtable和HashMap区别

    在Java编程语言中,`Hashtable`和`HashMap`是两种非常重要的数据结构,它们都属于`Map`接口的实现类,用于存储键值对数据。尽管两者在功能上相似,但在实际应用中却存在显著差异。 #### 1. 历史与实现基础 `...

    HashMap和HashTable的区别和不同

    综上所述,`HashMap`和`HashTable`在多个方面存在差异。选择哪一个取决于特定的应用场景和需求: - 如果需要线程安全并且能够接受一定的性能损耗,可以选择`HashTable`。 - 如果追求更高的性能且可以自己处理线程...

    比较分析Vector、ArrayList和hashtable hashmap数据结构

    比较分析Vector、ArrayList和hashtable hashmap数据结构

    HashTable和HashMap的区别_动力节点Java学院整理

    HashSet实现了Set接口,它不允许集合中有重复的值,当我们提到HashSet时,第一件事情就是在将对象存储在HashSet之前,要先确保对象重写equals()和hashCode()方法,这样才能比较对象的值是否相等,以确保set中没有...

    List、ArrayList、Vector及map、HashTable、HashMap分别的区别

    HashMap和Hashtable是两种常用的Map实现类。HashMap是一个非同步的Map实现类,它允许null,即null value和null key。Hashtable是一个同步的Map实现类,它不允许null。 List、ArrayList、Vector及map、HashTable、...

    Java中HashTable和HashMap的区别_动力节点Java学院整理

    Java中的`HashTable`和`HashMap`都是实现`Map`接口的数据结构,用于存储键值对。两者虽然在功能上相似,但在实现细节和使用场景上有显著的区别。 首先,线程安全性是两者之间的一个关键差异。`HashTable`是线程安全...

    Java集合专题总结:HashMap 和 HashTable 源码学习和面试总结

    Java集合专题总结:HashMap和HashTable源码学习和面试总结 本文总结了Java集合专题中的HashMap和HashTable,涵盖了它们的源码学习和面试总结。HashMap是一种基于哈希表的集合类,它的存储结构是一个数组,每个元素...

    HashMap和HashTable底层原理以及常见面试题

    HashMap和HashTable底层原理以及常见面试题 HashMap和HashTable是Java中两个常用的数据结构,都是基于哈希表实现的,但它们之间存在着一些关键的区别。本文将深入探讨HashMap和HashTable的底层原理,并总结常见的...

    比较Vector、ArrayList和hashtable hashmap

    - HashMap 和 Hashtable 都实现了 Map 接口,HashMap 更快但不是线程安全的,而 Hashtable 是线程安全但较慢。WeakHashMap 则使用弱引用作为键,有助于防止内存泄漏。 - 在选择使用哪种数据结构时,需要考虑性能需求...

    java程序员面试题

    HashMap和Hashtable的区别。 HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。 HashMap...

    HashMap底层实现原理HashMap与HashTable区别HashMap与HashSet区别.docx

    总的来说,HashMap、HashTable和HashSet各有其特点和适用场景。HashMap适合单线程环境和对性能要求高的场合,HashTable适用于需要线程安全但对性能要求不那么高的情况,而HashSet则是存储不重复元素的高效选择。了解...

    HashMap与HashTable和HashSet的区别

    ### HashMap与HashTable和HashSet的区别 #### 一、概述 在Java集合框架中,`HashMap`, `HashTable` 和 `HashSet` 是三个重要的数据结构,它们分别实现了`Map`接口和`Set`接口,提供了不同的功能来满足不同的编程...

    第9讲 对比Hashtable、HashMap、TreeMap有什么不同?1

    了解Map的整体结构也很重要,HashMap和其他Map实现如LinkedHashMap(保持插入顺序或访问顺序的HashMap)都是从AbstractMap继承,而Hashtable则直接继承Dictionary类,这反映了它们设计上的差异和适用场景的不同。...

    Java容器类List、ArrayList、Vector及map、HashTable应用

    Hashtable和HashMap的主要区别在于Hashtable使用了synchronized方法,线程安全,而HashMap则没有。Hashtable和HashMap都提供了put、get、remove等方法,用于操作Map中的元素。 Hashtable是基于哈希表的实现,它提供...

    hashMap和hashTable的区别

    ### hashMap和hashTable的区别 #### 一、简介与基本概念 `HashMap` 和 `HashTable` 都是 Java 集合框架中非常重要的数据结构,它们都实现了 `Map` 接口,用于存储键值对。尽管它们在功能上有很多相似之处,但在...

    阿里巴巴电话面试试题.doc

    本资源摘要信息涵盖了 Java 集合框架的基本概念和实现细节,着重介绍了 Java 集合框架中的 HashMap、Hashtable、ArrayList、LinkedList 等常用类,并对比了 Hashtable 和 HashMap 的区别,详细分析了两者在源代码...

    java中Hashtable和HashMap的区别分析

    Java中的`Hashtable`和`HashMap`都是`Map`接口的实现类,它们都用于存储键值对数据。然而,这两个类在设计和功能上有显著的差异,这些差异主要体现在线程安全性、空值处理、迭代器类型以及哈希表的初始化和扩容策略...

Global site tag (gtag.js) - Google Analytics