当前位置: 首页 > news >正文

哈希表与堆栈:数据存储全解析

《hash表》

//数组结构:长度是固定 类型是固定
int[] is1 = { 1, 2, 3 };

//动态集合:长度不固定,类型不固定,存储是object类型
ArrayList list= new ArrayList();
//泛型集合:长度不固定,类型固定
List<int>list1= new List<int>();

//字典:长度不固定 类型固定
Dictionary<int,int> dict=new Dictionary<int,int>();

//hash表:和字典很类似,以存储时候也是键值对的方法进行存储的,通过键获取对应的值,和字典不同地方在于,哈希表存储键值对类型不固定
Hashtable hashtable = new Hashtable();//创建hash表
hashtable.Add(1,2);//添加键值对
hashtable.Add("name", "张三");
//2查询键对应的值
Console.WriteLine(hashtable[1]);//获取对应键的值

//3遍历hash所有的keys
foreach (var item in hashtable.Keys)
{
Console.WriteLine(item+"----------");
}
//4遍历hash所有的values
foreach (var item in hashtable.Values)
{
Console.WriteLine(item+"++++++=");
}
object[]keys=new object[hashtable.Count];//定义object类型数组
hashtable.Keys.CopyTo(keys, 0);//把hashtable.Keys所有元素复制到keys
//foreach (var item in hashtable)
//{
// Console.WriteLine(item+"+++++==");
//}
//6清空键值对值
//hashtable.Clear();
//7指定键进行移除
//hashtable.Remove(1);
//8 包含这个键
Console.WriteLine(hashtable.ContainsKey("name"));
//9修改
hashtable["name"] = "你好";
//10 键值对个数
Console.WriteLine(hashtable.Count);
//5遍历hash所有键值对
foreach (DictionaryEntry item in hashtable)
{
Console.WriteLine(item.Value+"------");
}

《堆栈》

//栈和队列
//本节是按照线性数据结构,数据存储方式进行对比的

//栈:对要操作元素会进行一个后进先出的操作,例如:现实场景电梯,先进去的人最后才出来,后进去的人先出来
//添加元素称为出栈操作
//取出一个元素操作称为出栈
Stack<string>stack=new Stack<string>();//存放字符串栈结构
stack.Push("张三");//入栈
stack.Push("李四");
stack.Push("王五");

string name =stack.Pop();//出栈
Console.WriteLine(name+"--------");//王五
Console.WriteLine(stack.Peek());//获取栈顶元素 李四
Console.WriteLine(stack.Count);//2个
//stack.Clear;清空栈
//stack.ToArray();//转成数组

//队列:对元素进行先进先出的操作 例如显示场景排队买饭
//添加元素一般入队操作
//取出元素一般出队=操作
Queue<string>queue = new Queue<string>();
queue.Enqueue("马化腾");//入队
queue.Enqueue("马云");
queue.Enqueue("马嘉祺");
Console.WriteLine(queue.Count);
Console.WriteLine(queue.Dequeue());//出队马化腾
Console.WriteLine(queue.Peek());//获取对顶元素马云

// queue.Clear();//清空队列


http://www.jsqmd.com/news/130945/

相关文章:

  • 大模型选型神器:DeepSeek 辅助分析业务需求匹配最优 AI 工具
  • Burp Suite 插件 | SQL 注入自定义扫描和分析
  • 2025最新沧州漏水检测公司TOP5评测!优质企业及施工单位选择指南,精准探测+长效治理权威榜单发布,技术赋能守护建筑安全生态 - 全局中转站
  • 新手自学黑客技术不踩雷指南:2025 最新亲测学习网站合集,助力高效入门与提升
  • 深入理解C#泛型:从方法到约束
  • DNF私服增幅31的bug?这个你知道吗?
  • 爆肝整理!专为实战挖洞打造的自动化扫描工具,渗透测试效率翻倍
  • 从工程角度看 GlobTek 医疗电缆线束应用
  • 工业控制系统中vivado2021.1安装操作指南
  • 【参数估计】基于WSO算法的太阳能光伏模型参数估计附Matlab代码
  • 好人逆袭:如何赢得尊重又守住善良?
  • 多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定
  • SELinux 与 AppArmor 的配置,增强系统安全性
  • 【参数化重采样时频变换】利用多个成分来检测IF的共享趋势,并递归逼近核参数附Matlab代码
  • Excel超实用技能,一键批量快速合并相同内容单元格,瞬间搞定
  • 圣【牛客tracker 每日一题】
  • 工业控制中CCS安装的实战案例解析
  • Day35~初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料
  • MQ消息对账原理与运用实践
  • 家家有:以绿色积分+AI技术重塑数字商业新生态
  • 2025温州158GEO推广哪家好 - 栗子测评
  • Springboot家庭装修套餐消费管理c2emy(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 文档结构化系统通过OCR、NLP、知识图谱、多模态融合等技术的综合应用,彻底改变档案管理的本质
  • 【TextIn大模型加速器 + 火山引擎】通过COZE平台构建企业级数字投标专家Agent
  • 2025重金属水质监测设备厂家有哪些多方位对比解析 - 栗子测评
  • Linux系统编程——网络:从 OSI 到 UDP 通信实践
  • 屹晶微 EG2104D 600V耐压、宽压输入、带SD关断功能的高性价比半桥栅极驱动器技术解析
  • MyBatis 环境配置完整教程(从 0 到 1)
  • 2025聚氨酯地坪砂浆供应商:实力派聚氨酯地坪供应厂家清单 - 栗子测评
  • 【优化求解】基于matlab改进的粒子群算法IPSO确定对称级联多能级反相器的最佳切换角度【含Matlab源码 14762期】