一、hashmap
1、hashmap是线程不安全的,hashmap是将key影射到value,一个key对应一个value,并且key不能重复,value可以重复。如果有重复的key值时,相同key值的最后一次存入的会覆盖掉前面的key值和value。hashmap可以有null的key值和null的value。
2、hashmap不是线程安全的,效率上高于hashset。
3、HashMap继承自Map接口
4、HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
二、hashtable
1、hashtable不允许有null的key和null的value。
2、hashtable是线程安全的,它的方法是Synchronize的
3、hashtable继承自Directory类
|
有序否
|
允许元素重复否
|
Collection
|
否
|
是
|
List
|
是
|
是
|
Set
|
AbstractSet
|
否
|
否
|
HashSet
|
TreeSet
|
是(用二叉树排序)
|
Map
|
AbstractMap
|
否
|
使用key-value来映射和存储数据,Key必须惟一,value可以重复
|
下面的这个链接就是上面的表格来源,http://www.cnblogs.com/taotaoblog/archive/2009/09/19/1569958.html
分享到:
相关推荐
综上所述,`HashMap`和`HashTable`在多个方面存在差异。选择哪一个取决于特定的应用场景和需求: - 如果需要线程安全并且能够接受一定的性能损耗,可以选择`HashTable`。 - 如果追求更高的性能且可以自己处理线程...
总体来说,`HashMap` 和 `HashTable` 在设计上有显著不同,选择哪一个取决于具体的应用场景。如果不需要线程安全,并且可能涉及 `null` 键或值的情况下,建议使用 `HashMap`;如果需要线程安全,或者希望使用早期的 ...
1. HashMap和HashTable的区别是什么? 答案:HashMap不是线程安全的,而HashTable是线程安全的。HashMap允许存放null键和null值,而HashTable不允许存放null键和null值。 2. 如何在HashMap中避免哈希冲突? 答案:...
Java集合专题总结:HashMap和HashTable源码学习和面试总结 本文总结了Java集合专题中的HashMap和HashTable,涵盖了它们的源码学习和面试总结。HashMap是一种基于哈希表的集合类,它的存储结构是一个数组,每个元素...
### HashMap与HashTable和HashSet的区别 #### 一、概述 在Java集合框架中,`HashMap`, `HashTable` 和 `HashSet` 是三个重要的数据结构,它们分别实现了`Map`接口和`Set`接口,提供了不同的功能来满足不同的编程...
在Java编程语言中,`HashMap`和`HashTable`是两种非常重要的数据结构,它们都实现了`Map`接口,并提供了键值对的存储方式。这两种数据结构虽然相似,但在实现细节和使用场景上存在显著差异。下面将详细介绍`HashMap`...
在Java编程语言中,`HashMap`和`Hashtable`是两种非常重要的数据结构,它们都用于存储键值对。然而,在实际应用过程中,这两种数据结构有着本质的不同,下面将详细介绍这些差异。 #### 1. 历史背景及实现原理 - **...
hashmap和hashtable的区别
- `HashMap`的插入、删除和查找操作平均时间复杂度为O(1),而`HashTable`由于需要同步,其操作复杂度理论上是O(n)。 4. 方法特性: - `HashTable`中的`containsKey()`, `containsValue()`, `put()`, `remove()`等...
hashMap和Hashtable的区别1
HashMap 和 Hashtable 是 Java 集合框架中两个重要的映射数据结构,它们都实现了 Map 接口,但具有显著的差异。以下将详细介绍这两个类的主要区别: 1. 线程安全性: - HashMap 不是线程安全的,这意味着在多线程...
11.HashMap和HashTable的区别.avi
HashMap和Hashtable的区别Java开发Java经验技巧共2页.pdf.zip
在Java编程语言中,集合框架是处理对象数组的重要工具,其中`List`、`ArrayList`、`Vector`、`HashTable`和`HashMap`是五个关键的接口和类,它们各有不同的特性和用途。以下是这些概念的详细解释: 1. **List接口**...
1. 线程安全性:HashMap 是非线程安全的,HashTable 是线程安全的。 2. 键和值的 null 值:HashMap 的键和值都允许有 null 值存在,而 HashTable 则不行。 3. 效率:HashMap 的效率比 HashTable 的要高。 HashMap ...
其中,HashMap, HashTable, LinkedHashMap, TreeMap 是四种常用的 Map 实现类,每种类都有其特点和用途。本文将对这四种 Map 实现类进行比较和分析。 HashMap HashMap 是 Java 中最常用的 Map 实现类,它根据键的 ...
- HashMap 和 Hashtable 都实现了 Map 接口,HashMap 更快但不是线程安全的,而 Hashtable 是线程安全但较慢。WeakHashMap 则使用弱引用作为键,有助于防止内存泄漏。 - 在选择使用哪种数据结构时,需要考虑性能需求...
Java面试题11.HashMap和HashTable的区别.mp4
1. **Hashtable**:作为 `Dictionary` 类的子类,`Hashtable` 是 Java 最早版本(JDK 1.0)中提供的一个用于存储键值对的标准类。它继承自 `Dictionary` 并实现了 `Map` 接口。 2. **HashMap**:`HashMap` 则是在 ...
HashMap和HashTable的区别?但是如果想线程安全有想效率高?