【HashMap和Hashtable之间的区别】HashMap和Hashtable都用于存储键和值形式的数据。两者都使用哈希技术来存储唯一密钥。
但是, 下面给出的HashMap和Hashtable类之间有许多区别。
哈希图 | 哈希表 |
---|---|
1)HashMap不同步。它不是线程安全的, 没有适当的同步代码就无法在许多线程之间共享。 | 哈希表已同步。它是线程安全的, 可以与许多线程共享。 |
2)HashMap允许一个空键和多个空值。 | Hashtable不允许任何空键或值。 |
3)HashMap是JDK 1.2中引入的新类。 | 哈希表是一个遗留类。 |
4)HashMap很快。 | 哈希表很慢。 |
5)我们可以通过调用以下代码使HashMap同步:Map m = Collections.synchronizedMap(hashMap); | 哈希表在内部是同步的, 不能不同步。 |
6)HashMap被Iterator遍历。 | Hashtable被Enumerator和Iterator遍历。 |
7)HashMap中的迭代器是快速失败的。 | Hashtable中的枚举器不是快速失败的。 |
8)HashMap继承AbstractMap类。 | Hashtable继承Dictionary类。 |
推荐阅读
- 图 废掉硬路由!组建软路由的详细图文详细教程
- Comparable和Comparator之间的区别
- ArrayList和Vector之间的区别
- ArrayList和LinkedList之间的区别
- Java Comparator接口
- Java Comparable接口
- Java中的集合
- Java WindowListener接口
- Java MouseMotionListener接口