gpt4 book ai didi

c# - 字典是如何在内部维护的?

转载 作者:太空狗 更新时间:2023-10-29 17:45:32 25 4
gpt4 key购买 nike

当我说

Dictionary<int,string>

是否相当于两个不同的数组如:

int[] keys =new int[] { 1, 2, 3 };
string[] values=new string[]{"val1","val2","val3"};

最佳答案

这还不算太远。查看 Reflector 中的源代码,似乎使用了三个内部集合:

private Entry<TKey, TValue>[] entries;
private KeyCollection<TKey, TValue> keys;
private ValueCollection<TKey, TValue> values;

请注意,还有一个 int[] buckets 变量来跟踪 buckets在哈希码冲突的情况下需要。

这些变量的目的都应该是不言自明的。无论如何,这并不特别令人惊讶,因为已知并记录了 Dictionary 类提供(理想情况下,每个桶一个项目)O(1) 查找时间。

关于c# - 字典是如何在内部维护的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1600606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com