我了解Java HashMap元素是基于元素键的哈希值存储在“存储桶”中的。在C#字典中是否会发生同样的哈希运算?如果没有,那么查找如何工作?
最佳答案
C#System.Collections内部有几种Dictionary-命名空间。他们使用不同的策略来存储其内部数据:
这个System.Collections.Specialized.HybridDictionary
使用DoubleLinkedLists直到达到特定大小,然后切换到Hashsets。 “正常” System.Collections.Generics-Dictionary始终在内部使用哈希集。还有一个可同时使用的字典-如果愿意,可以自己查找(Concurrent Dictionary)。
因此,这取决于您使用的是哪种Dictionary,并且(在上述情况下)可能由于性能或其他原因而对所使用类的内部考虑而可能会更改。
关于c# - C#字典是否以与Java HashMaps相同的方式使用哈希?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47742954/