HashTable和Dictionary都是用于存储数据的数据结构的类型。这两个数据结构都将存储的数据保存为键值对。
根据这些关键特征之间的区别,我们可以区分HashTable和Dictionary,如下所示:
序号 | 键 | HashTable 哈希表 | Dictionary 字典 |
---|---|---|---|
1 | 定义 | HashTable是集合的非通用类型,用于在键/值对中存储数据,并在System.Collections命名空间中定义。 | 另一方面,Dictionary是在System.Collection.Generics命名空间下定义的通用类型集合,该命名空间还以键/值对的形式存储数据。 |
2 | 数据类型 | 在HashTable中,可以将相同或不同的数据类型数据存储为键和值,没有限制,键和值必须具有相同的DataType,然后只能html" target="_blank">存储在HashTable中。同样,也无需指定键和值的类型。 | 另一方面,如果Dictionary的键和值必须具有相同的DataType,则只能将其存储在Dictionary中,并且必须在创建时指定键和值的类型。 |
3 | 数据检索 | 在HashTable的情况下,由于装箱和拆箱,数据检索比Dictionary中的数据检索要慢。 | 另一方面,在Dictionary数据的情况下,检索速度更快,因为在Dictionary的情况下不会进行装箱和拆箱。 |
4 | 空值 | 如果HashTable空值作为访问时的键处理,则该键在给定的HashTable中不存在,则返回空值作为结果。 | 另一方面,在Dictionary的情况下,如果尝试访问给定Dictionary中不存在的键,则会出错。 |
5 | 数据顺序 | HashTable不维护插入键值数据的任何顺序。 | 另一方面,Dictionary保持存储值的插入顺序。 |
本文向大家介绍Java中HashMap和Hashtable之间的区别,包括了Java中HashMap和Hashtable之间的区别的使用技巧和注意事项,需要的朋友参考一下 Hashtable是原始java.util的一部分,是Dictionary的具体实现。但是,Java 2重新设计了Hashtable,使其也实现了Map接口。因此,哈希表现在已集成到集合框架中。它类似于HashMap,但已同步。
本文向大家介绍Java中HashTable和ConcurrentHashMap之间的区别,包括了Java中HashTable和ConcurrentHashMap之间的区别的使用技巧和注意事项,需要的朋友参考一下 并发Hashmap是在jdk1.5中引入的类。并发哈希映射仅在添加或更新映射时在称为片段的存储桶级别应用锁。因此,并发哈希映射允许对映射进行并发读写操作。 HashTable是在Jdk1
本文向大家介绍C# ArrayList、HashSet、HashTable、List、Dictionary的区别详解,包括了C# ArrayList、HashSet、HashTable、List、Dictionary的区别详解的使用技巧和注意事项,需要的朋友参考一下 在C#中,数组由于是固定长度的,所以常常不能满足我们开发的需求。 由于这种限制不方便,所以出现了ArrayList。 ArrayLi
本文向大家介绍HashTable、HashSet和Dictionary的区别点总结,包括了HashTable、HashSet和Dictionary的区别点总结的使用技巧和注意事项,需要的朋友参考一下 今天又去面试了,结果依然很悲催,平时太过于关注表面上的东西,有些实质却不太清楚,遇到HashTable和Dictionary相关的知识,记录下来,希望对后来人有所帮助,以及对自己以后复习可以参考。 1
问题内容: Java中的a 和a有什么区别? 对于非线程应用程序,哪个更有效? 问题答案: 和在Java中有一些区别: 是同步的,而不是。这对于非线程应用程序更好,因为非同步对象的性能通常优于同步对象。 不允许null键或值。 允许一个键和任意数量的值。 的子类之一是,因此,如果你想要可预测的迭代顺序(默认情况下为插入顺序),则可以轻松地将替换为。如果使用,这将不那么容易。 由于同步对你来说不是问
问题内容: 据我所知,它会同步接口中的每个方法,同时返回一个包装器对象,该对象包含将调用委托给实际对象的同步方法(如果我错了,请纠正我)。 我有两个问题: 同步每个方法并具有包装器类有什么区别?有什么方案可以选择一个? 当我们这样做时会发生什么?这是否等同于简单地使用法线? 问题答案: 以下是我从一些(希望正确)的研究中得到的答案: 两者都提供相同程度的同步。如果要遍历Collections.sy