散列表(hashmap)和哈希表(hashtable)的区别

HashMap和hashtable是Java中两个关键的数据结构。它们在集合框架中,两者之间几乎没有共同之处。虽然它们有这些相似之处,但它们之间也有一些不同之处。HashMap和hashtables都以键值对的形式存储数据,slao都实现Map接口。为了存储元素,HashMap和HashTable都使用哈希技术。因为我们必须解决两者之间的差异,所以最重要的区别是基于线程安全性。HashMap和Ha...

主要差异

HashMap和hashtable是Java中两个关键的数据结构。它们在集合框架中,两者之间几乎没有共同之处。虽然它们有这些相似之处,但它们之间也有一些不同之处。HashMap和hashtables都以键值对的形式存储数据,slao都实现Map接口。为了存储元素,HashMap和HashTable都使用哈希技术。因为我们必须解决两者之间的差异,所以最重要的区别是基于线程安全性。HashMap和HashTable的主要区别包括空键、迭代值、同步。表现和等级。HashTable是线程安全的,而HashMap则不是线程安全的。HashTable在内部同步,而HashMap在内部不同步,因此在多线程应用程序中使用HashMap是不安全的。HashMap的性能比HashTable好,因为HashTable是内部同步的。HashMap优于HashTable,因为HashTable是一个遗留类,被认为是由于折旧。HashMap比HashTable快。从jdk1.2引入HashMap开始,它就是Java集合框架的成员,但在jdk1.2哈希表出现之前,jdk1.2已经使它实现了Map接口并成为集合框架的成员。

比较图

目标哈希图散列表
定义HashMap最多允许一个空键,并且允许任意数量的空值。既不允许单个空键也不允许空值。
返回对于遍历元素,HashMap只返回迭代器返回值不仅是迭代器,也是枚举器。
实施通过扩展AbstractMap类实现Map接口通过扩展Dictionary类实现映射接口。
同步内部不同步它是内部同步的

hashmap的定义

HashMap是Java中集合框架中重要的数据结构。HashMap不是线程安全的,因此在多线程应用程序中使用HashMap是不安全的。但是对于多线程应用程序来说,它可以通过外部同步来保证安全集合.已同步()方法。它通过扩展AbstractMap类来实现Map接口。HashMap最多允许一个空键,并且允许任意数量的空值。HasMap返回的迭代器本质上是失败的。HashMap的性能很好,因此与HashTable相比速度更快。

哈希表的定义

HashTable是Java中集合框架中重要的数据结构。哈希表是线程安全的,并且在内部同步。因此,它可以安全地用于多线程应用程序。它通过扩展Dictionary类来实现Map接口。它既不允许单个空键也不允许空值。HashTable是一个遗留类,被认为是由于折旧。哈希表返回的枚举本质上是安全的。

一言以蔽之

  1. HashTable是线程安全的,而HashMap则不是线程安全的。
  2. 哈希表在内部同步,而HashMap在内部不同步。
  3. HashMap和HashTable都实现了Map接口,但它们都扩展了不同的类。HashMap通过扩展AbstractMap类来实现Map接口,而HashTable则通过扩展Dictionary类来实现Map接口。
  4. HashMap允许最多一个空键,并且允许任意数量的空值,而HashTable既不允许单个空键也不允许空值。
  5. 对于遍历元素,HashMap只返回迭代器,而HashTable返回的不仅是迭代器,还是枚举器。
  6. HasMap返回的迭代器本质上是快速失败的,而哈希表返回的枚举本质上是故障安全的。
  7. HashMap比HashTable快。
  8. HashTable比HashMap慢。
  9. HashMap的性能比HashTable好,因为HashTable是内部同步的。
  10. HashMap优先于HashTable,因为HashTable是一个遗留类,被认为应该折旧。
  11. 从jdk1.2引入HashMap开始,它就是Java集合框架的成员,但在jdk1.2哈希表出现之前,jdk1.2已经使它实现了Map接口并成为集合框架的成员。

对比视频

结论

计算机体系结构是一个神秘的东西,对于一般用户和没有详细知识的人。HashMap和HashTable这两个术语是相似的,它们被认为是相同的,但在工作和功能上是不同的。因此,本文将对这两种类型作一个正确的认识,以便人们有一个更清晰的认识。

  • 发表于 2020-05-12 06:18
  • 阅读 ( 165 )
  • 分类:IT

你可能感兴趣的文章

散列表(hashmap)和树状图(treemap)的区别

关键区别–hashmap与treemap 在编程中,有各种机制来收集数据。集合是存储数据的一种方法。编程语言,如Java使用集合。它是一个包含类和接口的框架,用于存储和操作一组数据元素。在普通数组中,有固定数量的元素要存储...

  • 发布于 2020-10-02 05:06
  • 阅读 ( 351 )

等于(equals)和java中的hashcode(hashcode in java)的区别

...等。打印s1和s2的hashCode得到相同的值。hashCode方法可用于HashMap等集合。 等于(equals)和java中的hashcode(hashcode in java)的区别 等于Java中的hashCode equals是Java中的一个方法,它的作用类似于==运算符,后者用于测试对象标识而...

  • 发布于 2020-10-19 00:40
  • 阅读 ( 198 )

通用(generic)和c中的非泛型集合#(non-generic collection in c#)的区别

...小。 一些非泛型集合类是ArrayList、SortedList、Stack、Queue和HashTable。每个集合类实现IEnumerable接口。它有助于使用foreach循环遍历集合中项的元素。 ArrayList是数组的一种替代方法。如果有一个数组可以存储10个元素,它就不能存储20...

  • 发布于 2020-10-24 01:08
  • 阅读 ( 334 )

6个免费的哈希检查程序来检查任何文件的完整性

...希生成。您可以加载HashMyFiles,其中包含需要哈希的文件列表,将其设置为有效,并接收整个列表的哈希。 ...

  • 发布于 2021-03-19 07:54
  • 阅读 ( 336 )

为什么每次服务的密码数据库泄露时都要担心

...在于数据库中。攻击者通过查找表和匹配密码的大量哈希列表来实现这一点。然后可以将哈希值与数据库进行比较。例如,攻击者会知道“password1”的哈希值,然后查看数据库中是否有帐户使用该哈希值。如果他们是,攻击者知...

  • 发布于 2021-04-08 14:27
  • 阅读 ( 177 )

您的密码是如何存储在互联网上的(以及何时您的密码强度无关紧要)

...),它本质上是一个数万亿个不同哈希值及其匹配密码的列表,它们只需查找哈希值,看看是否已经被发现。尝试在Google中输入e38ad214943daad64c102faec29de4afe9da3d。您很快就会发现它是“password1”的SHA-1散列。有关彩虹表如何工作的...

  • 发布于 2021-05-26 07:29
  • 阅读 ( 148 )

散列表(hashmap)和linkedhashmap公司(linkedhashmap)的区别

HashMap和LinkedHashMap是Java平台中最常见和通用的两种Map实现。它们基本上是基于散列的类,彼此非常相似,用于创建映射。Map接口是最后一个主要的Collecti***框架接口,它定义了一组键到值关联(其中键是唯一的)所支持的操作。...

  • 发布于 2021-06-25 20:26
  • 阅读 ( 223 )

散列表(hashmap)和容器(hashset)的区别

...识值。就像Vector和Stack在ArrayList和LinkedList中有替换一样,Hashtable在HashMap中也有替换。它扩展了AbstractMap,使用内部哈希表表示来实现Map接口。与其他通用实现类似,HashMap支持Map的可选方法,允许空值,并且不同步。 什么是哈希...

  • 发布于 2021-06-25 21:32
  • 阅读 ( 329 )

哈希表(hashtable)和词典(dictionary)的区别

Hashtable和Dictionary的主要区别在于,Hashtable是弱类型的数据结构,因此可以添加任何类型的键和值,而Dictionary是强类型的数据结构,因此只能添加满足键和值的指定数据类型的元素。 哈希表和字典是两种主要的数据结构。它们都...

  • 发布于 2021-06-30 21:47
  • 阅读 ( 1645 )

散列(hashing)和加密(encryption)的区别

哈希和加密的主要区别在于,哈希输出不能转换回原始消息,而加密的消息可以转换回原始消息。 重要的是要确保在网上交换信息是安全的。有多种方法可以保证数据的安全。其中两个是散列和加密。散列对数据应用散列函数...

  • 发布于 2021-07-01 01:39
  • 阅读 ( 594 )
Ummeeee
Ummeeee

0 篇文章

相关推荐