C#--关于字典和哈希表的一些使用问题
Posted 天的测试使用
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#--关于字典和哈希表的一些使用问题相关的知识,希望对你有一定的参考价值。
在今天的力扣每日一题的题目中,涉及到字典和哈希表的使用问题。刚开始看到官方使用Map,如图1所示。
图1 Java的HashMap
C#有没有类似的,其实有,通过百度搜索可以知道,是HashTable,在官方文档中如图2所示。但往下阅读时,官方提示最好不要使用这个。而是应该使用Dictionary类。
图2 Hashtable类
图3 官方文档中的重要提示
在今天题目的代码实现中,还发现了一个问题。在官方题解中,用到了这个方法,如图4所示,是getOrDefault()方法。
图4 getOrDefault()方法
我也试着在C#中找到类似这样的方法,最后在官方文档中找到了这个方法,叫TryGetValue()方法。
图5 TryGetValue()方法
图6 代码实现的使用
同时还发现了Add()方法和使用[]形式的区别,当我试图使用Add()更新相同字典键的值时,会报错。随后阅读了官方文档后,使用[key]形式就能覆盖更新值。
图7 官方文档的说明
以上是关于C#--关于字典和哈希表的一些使用问题的主要内容,如果未能解决你的问题,请参考以下文章
字典和哈希表之间的主要区别是啥
C/C++手撕哈希表详解
使用python实现哈希表字典集合
redis基础结构-DICT
Redis常用命令--Hashes
Python哈希表的例子:dictset