c#HashTable

概念

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();
}
相关推荐
Funlang37 分钟前
给机器写的 JavaScript 造个笼子
开发语言·javascript·ecmascript
普通人642 分钟前
PHP文件读写完全指南
开发语言·php·1024程序员节
坤坤子吖1 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
一晌小贪欢2 小时前
Python基础:第 09 篇 · while 循环:重复直到不满足
开发语言·c++·python·数据可视化·面向对象·python办公
xiaoye-duck3 小时前
《C++ 项目:手写大模型接入 SDK》LLMManager架构设计与实现
开发语言·网络·c++·语言模型
一条大祥脚3 小时前
CuTe 与 CuTe DSL:从 C++ 模板元编程到 Python DSL 的 GPU 编程演进
开发语言·c++·python·cutlass·cute·cute dsl
FRing034 小时前
vue2干货总结8(路由模块封装、router-link、声明式导航、路由重定向、编程式导航)
开发语言·前端·vue.js·vue2
旖旎夜光4 小时前
【C++ 基础入门】C++ 多态(上):虚函数、重写、override/final 与抽象类
开发语言·c++·笔记·学习
starzy19904 小时前
深入理解Scala嵌套函数:作用域封装之道
开发语言·scala
Sakura_j_h_4 小时前
从零写一个 MCP stdio Server:用 Python 校验博客文章格式
开发语言·python·自动化·ai工具·mcp·json-rpc