自学内容网 自学内容网

Hashtable

Hashtable的本质

Hashtable(又称散列表)是基于键的哈希代码组织起来的键/值对

它的主要作用是提高数据查询的效率

使用键来访问集合中的元素

申明

//需要引用命名空间 System.Collections
Hashtable hashtable = new Hashtable();

增删查改

hashtable.Add(1, "123");
hashtable.Add("123", 2);
hashtable.Add(true, false);
hashtable.Add(false, false);
//注意:不能出现相同键

//1.只能通过键去删除
hashtable.Remove(1);
//2.删除不存在的键 没反应
hashtable.Remove(2);

//3.或者直接清空
hashtable.Clear();
hashtable.Add(1, "123");
hashtable.Add(2, "1234");
hashtable.Add(3, "123");
hashtable.Add("123123", 12);

//1.通过键查看值
//  找不到会返回空
Console.WriteLine(hashtable[1]);
Console.WriteLine(hashtable[4]);//null
Console.WriteLine(hashtable["123123"]);

//2.查看是否存在
//根据键检测
if( hashtable.Contains(2) )
{
    Console.WriteLine("存在键为2的键值对");
}
if( hashtable.ContainsKey(2) )
{
    Console.WriteLine("存在键为2的键值对");
}

//根据值检测
if( hashtable.ContainsValue(12) )
{
    Console.WriteLine("存在值为12的键值对");
}

//只能改 键对应的值内容 无法修改键
Console.WriteLine(hashtable[1]);
hashtable[1] = 100.5f;
Console.WriteLine(hashtable[1]);

遍历

//得到键值对 对数
Console.WriteLine(hashtable.Count);

//1.遍历所有键
foreach (object item in hashtable.Keys)
{
    Console.WriteLine("键:"+item);
    Console.WriteLine("值:"+hashtable[item]);
}

//2.遍历所有值
foreach (object item in hashtable.Values)
{
    Console.WriteLine("值:" + item);
}

//3.键值对一起遍历
foreach (DictionaryEntry item in hashtable)
{
    Console.WriteLine("键:" + item.Key + "值:" + item.Value);
}

//4.迭代器遍历法
IDictionaryEnumerator myEnumerator = hashtable.GetEnumerator();
bool flag = myEnumerator.MoveNext();
while (flag)
{
    Console.WriteLine("键:" + myEnumerator.Key + "值:" + myEnumerator.Value);
    flag = myEnumerator.MoveNext();
}

装箱拆箱

由于用万物之父来存储数据,自然存在装箱拆箱

当往其中进行值类型存储时就是在装箱

当将值类型对象取出来转换使用时,就存在拆箱


原文地址:https://blog.csdn.net/Luo3255069063/article/details/140483056

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!