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

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

Hashtable和Dictionary的主要区别在于,Hashtable是弱类型的数据结构,因此可以添加任何类型的键和值,而Dictionary是强类型的数据结构,因此只能添加满足键和值的指定数据类型的元素。

哈希表和字典是两种主要的数据结构。它们都可以将数据作为键值对保存。哈希表或字典只能包含唯一键。程序员可以使用键查找或删除特定值。哈希表不是强类型的。因此,程序员可以将键值对的任何元素添加到哈希表中。另一方面,字典是强类型的。程序员应该指定键和值的数据类型。不可能添加不满足给定数据类型的元素。例如,如果字典具有泛型类型,则程序员只能添加具有int类型键和字符串类型值的元素。

覆盖的关键领域

1.什么是泛型数据类型-定义2.什么是哈希表-定义,功能3.什么是字典-定义,功能4.哈希表和字典的区别-关键区别的比较

关键术语

字典、哈希表、数据结构

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

什么是泛型数据类型(generic data type)?

泛型数据类型是允许用户使用占位符定义类和方法的数据类型。编译器(如C#)可以在编译时用指定的数据类型替换占位符。它用于创建通用类和方法。在定义泛型类时,程序员应该使用尖括号(&lt>)。这些括号将类或方法声明为泛型类型。

什么是哈希表(hashtable)?

哈希表是一种实现关联数组抽象数据类型的数据结构,这种结构可以将键映射到值。它不是泛型数据类型。参考一段代码如下。

Difference Between Hashtable and Dictionary

Figure 1: C# program with Hashtable

在上面的程序中,数字是Hashtable类型的对象。键值对被添加到哈希表中。从语句15到17,键的类型是int,值的类型是string。在语句18中,键和值是字符串。哈希表是一种每周类型化的数据结构。因此,程序员可以向哈希表中添加任何类型的键和值。

Main Difference - Hashtable vs Dictionary

Figure 2: HashTable Program output

程序输出如上。哈希表不会根据添加元素的顺序打印记录。因此,它不保持**顺序。

什么是字典(a dictionary)?

字典使用Hashtable的概念。它是一种通用数据类型。请参阅以下程序。名称是字典类型对象。它有特定的数据类型可存储键和值。根据该程序,一般类型定义为<字符串,字符串gt;。因此,在向字典中添加元素时,键和值都应为string类型。

Difference Between Hashtable and Dictionary_Figure 3

Figure 3: C# program with Dictionary

添加到上述字典中的所有元素都具有String类型的键和值对。将键和值打印到控制台将得到类似于图4的输出。因此,它保持**顺序。

Difference Between Hashtable and Dictionary _ Figure 4

Figure 4: Dictionary Program Output

总的来说,Dictionary执行速度很快,但它不提供线程安全性。

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

定义

哈希表是一种实现关联数组抽象数据类型的数据结构,这种结构可以将键映射到值。字典是一种基于哈希表的数据结构,它以键为基础存储值。

添加元素

此外,Hashtable是一种弱类型的数据结构。因此,程序员可以向哈希表添加任何对象类型的键和值。字典是强类型的数据结构(<t键,TValue)。因此,程序员只能添加满足键和值指定数据类型的元素。这是Hashtable和Dictionary之间的关键区别。

类型

此外,Hashtable不是泛型的,而Dictionary是泛型的。

执行速度

此外,哈希表中有装箱和拆箱,但字典中没有。字典消耗的内存最少,执行速度比哈希表快。

检索元素

检索哈希表中的元素不会保持**顺序。另一方面,从字典中检索元素可以保持**顺序。

线程安全性

此外,哈希表提供了更多的线程安全性。它支持多个读线程和一个写线程。字典不提供线程安全。为了实现线程安全,程序员应该编写自己的同步代码。

示例语法

Hashtable ht=新Hashtable();

Dictionary=new Dictionary();。

结论

Hashtable和Dictionary的区别在于,Hashtable是弱类型的数据结构,因此可以添加任何类型的键和值,而Dictionary是强类型的数据结构,因此只能添加满足键和值的指定数据类型的元素。

引用

1.“C#Hashtable类”。“Www.tutorialspoint.com,教程点,2018年7月21日,可在此处查阅。2。”C#Hashtable.“C#中的数据类型,教程教师。”。 这里有。3。“C#字典–JavaTPPoint.“Www.Javatpoint.com,可在此处查阅。 2.“C#Hashtable.”C#中的数据类型,教程教师。  3.“C#字典–JavaTPPoint.”Www.Javatpoint.com,

  • 发表于 2021-06-30 21:47
  • 阅读 ( 1646 )
  • 分类:IT

你可能感兴趣的文章

词典(dictionary)和叙词表(thesaurus)的区别

词典与叙词表 虽然词典和叙词表都是用来学习一种语言中的词义的,但词典和叙词表在传授词义知识的方式上是有区别的。从语言学上讲,词典和叙词表都是名词。有趣的是,同义词表的复数形式是同义词表,但它也被写成...

  • 发布于 2020-10-21 06:00
  • 阅读 ( 289 )

百科全书(encyclopedia)和词典(dictionary)的区别

百科全书vs字典 百科全书和词典是两个在用法和意义上经常混淆的词。百科全书是一个信息库。另一方面,词典是一种包含词义和可能的用法的词典。这就是百科全书和词典的主要区别。 什么是百科全书(an encyclopedia)? 百科...

  • 发布于 2020-10-22 15:44
  • 阅读 ( 461 )

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

通用(generic)和c中的非泛型集合#(non-generic collection in c#)的区别 泛型集合是一个类,它提供类型安全性,而不必从基集合类型派生并实现特定于类型的成员。非泛型集合是用于数据存储和检索的专用类,它提供对堆栈、队列、...

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

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

...三个通用的Map实现:HashMap、TreeMap和LinkedHashMap。HashMap和Hashtable是Java中用于在哈希表中存储键/值对的两个集合。Hashtable是一个同步映射,HashMap是一个非同步映射。不过,如果需要使用同步映射,哈希表比在同步包装器中使用哈...

  • 发布于 2021-06-25 20:14
  • 阅读 ( 247 )

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

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

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

词典(dictionary)和同义词表(thesaurus)的区别

主要区别-词典与同义词表 词典和辞典都是词汇的参考书,是作家和语言学习者的必备工具。字典和同义词库的主要区别在于,字典是一本包含一种语言中单个单词的拼写、意义和发音的书,而同义词库是一本提供单词同...

  • 发布于 2021-06-27 09:01
  • 阅读 ( 232 )

索引(indexing)和散列(hashing)的区别

...用数据。此外,它允许执行事务并提供数据保护。索引和哈希是与DBMS相关的两个概念。 覆盖的关键领域 1.什么是索引-定义,功能2.什么是哈希-定义,功能3.索引和哈希的区别是什么-关键区别的比较 关键术语 数据库管理系统,*...

  • 发布于 2021-07-01 07:28
  • 阅读 ( 343 )

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

...含值。 功能 HashMap和HashSet之间的另一个区别是HashMap使用Hashtable存储基于键的值,而HashSet使用散列机制存储元素。 结论 HashMap和HashSet的主要区别在于HashMap属于Map接口层次结构,与Collection接口没有关联,而HashSet属于Collection接口...

  • 发布于 2021-07-01 07:58
  • 阅读 ( 263 )

仇恨(animosity)和敌意(hostility)的区别

敌意和敌意的主要区别在于它们的强烈程度;敌意比敌意更强烈。 敌意和敌意都是表示强烈厌恶和反对的两个名词。敌意是指敌对行为-不友好或反对。另一方面,敌意指的是强烈的敌意。因此,仇恨和敌意没有太大区别...

  • 发布于 2021-07-02 13:05
  • 阅读 ( 406 )

词典(dictionary)和同义词表(thesaurus)的区别

词典是单词及其含义、定义和用法描述的集合。同义词库将单词表示为“词族”,列出它们的同义词,但不解释它们的含义或用法。同义词表可以按字母顺序或概念列出单词。对比图 词典与同义词表对照...

  • 发布于 2021-07-04 02:28
  • 阅读 ( 299 )
bvz13719
bvz13719

0 篇文章

相关推荐