http://community.csdn.net/Expert/topic/4980/4980338.xml?temp=.8422357
有50分...
这里再加50 ..问题如下..Dictionary 泛型类的默认的加载因子是多少啊?
是固定的值还是自动变化的(HashTable中初始化时是可以设加载因子的).还有..Dictionary 泛型类在初始化时如果把大小设为32....
系统内部会不会把大小改为37(比32大一点的素数)呢?还有用foreach时迭代时.
Hashtable输入的顺序是不确定..
而用Dictionary 确是先进先出...
static void Main()
{
Dictionary<string, int> dir = new Dictionary<string, int>(100);
for (int i = 0; i < 100; i++)
{
dir.Add(i.ToString(), i);
}
foreach (string dirs in dir.Keys)
{
Console.WriteLine(dirs);
}
Hashtable ht = new Hashtable(100);
for (int i = 0; i < 100; i++)
{
ht.Add(i.ToString(), i);
}
foreach (string dirs in ht.Keys)
{
Console.WriteLine(dirs);
}
}
有50分...
这里再加50 ..问题如下..Dictionary 泛型类的默认的加载因子是多少啊?
是固定的值还是自动变化的(HashTable中初始化时是可以设加载因子的).还有..Dictionary 泛型类在初始化时如果把大小设为32....
系统内部会不会把大小改为37(比32大一点的素数)呢?还有用foreach时迭代时.
Hashtable输入的顺序是不确定..
而用Dictionary 确是先进先出...
static void Main()
{
Dictionary<string, int> dir = new Dictionary<string, int>(100);
for (int i = 0; i < 100; i++)
{
dir.Add(i.ToString(), i);
}
foreach (string dirs in dir.Keys)
{
Console.WriteLine(dirs);
}
Hashtable ht = new Hashtable(100);
for (int i = 0; i < 100; i++)
{
ht.Add(i.ToString(), i);
}
foreach (string dirs in ht.Keys)
{
Console.WriteLine(dirs);
}
}
当向 Hashtable 添加元素时,Hashtable 的实际加载因子将增加。当实际加载因子达到此加载因子时,Hashtable 中存储桶的数目自动增加到大于当前 Hashtable 存储桶数两倍的最小质数。
Hashtable 中的每个键对象必须提供其自己的哈希函数,可通过调用 GetHash 访问该函数。但是,可将任何实现 IHashCodeProvider 的对象传递到 Hashtable 构造函数,而且该哈希函数用于该表中的所有对象。
Dictionary 的默认加载因子不清楚