概念
HashTable 基于键的哈希代码组织起来的 键
它的主要作用是提高数据查询的效率
使用键来访问集合中的元素
声明
cs
Hashtable hashtable = new Hashtable();
增删查改
增
cs
hashtable.Add(1, "123");
hashtable.Add("123", 2);
hashtable.Add(true, false);
hashtable.Add(false, true);
注意 不能出现相同键
删
1只能通过键去删除
cs
hashtable.Remove(1);
2删除不存在的键,没反应
3.或者直接清空
cs
hashtable.Clear();
查
cs
Console.WriteLine(hashtable[1]);//[]填的是key
Console.WriteLine(hashtable[4]);//找不到会为空,返回null
Console.WriteLine(hashtable["123123"]);
查看是否存在
cs
if (hashtable.Contains("2"))
{
Console.WriteLine("存在键为2的键值对");
}
if (hashtable.ContainsKey(2))
{
Console.WriteLine("存在键为2的键值对");
}
根据值去检测
cs
if (hashtable.ContainsValue(12))
{
Console.WriteLine("存在值为12的键值对");
}
改
cs
hashtable[1] = 100.5f;
遍历
得到键值对 对数
cs
Console.WriteLine(hashtable.Count);
1遍历所有键
cs
foreach(object item in hashtable.Keys)
{
Console.WriteLine("键:" + item);
Console.WriteLine("值"+hashtable[item]);
}
2遍历所有值
cs
foreach(object item in hashtable.Values)
{
Console.WriteLine("值"+item);
}
3键值对一起遍历
cs
foreach(DictionaryEntry item in hashtable)
{
Console.WriteLine("键+item.key" + "值" + item.Value) ;
}
4迭代器遍历法
cs
IDictionaryEnumerator enumerator = hashtable.GetEnumerator();
bool flag = enumerator.MoveNext();
while (flag)
{
Console.WriteLine("键" + enumerator + "值" + enumerator.Value);
flag = enumerator.MoveNext();
}