news 2026/1/23 10:00:46

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
哈希表与堆栈:数据存储全解析

《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();//清空队列


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/20 23:12:07

Burp Suite 插件 | SQL 注入自定义扫描和分析

工具介绍 SQL Injection Scout 是一个用于 Burp Suite 的扩展&#xff0c;专为帮助安全研究人员和开发人员检测和分析 SQL 注入漏洞而设计。该扩展提供了丰富的配置选项和直观的用户界面&#xff0c;便于用户自定义扫描和分析过程。 &#x1f4af; 功能特性 被动检测SQL&…

作者头像 李华
网站建设 2026/1/21 9:06:58

Linux系统编程——网络:从 OSI 到 UDP 通信实践

目录 一、OSI 与 TCP/IP 模型 1.OSI 模型&#xff08;7 层&#xff09; 2.TCP/IP 模型&#xff08;4 层&#xff09; 二、Linux 网络配置&#xff1a;命令与文件 1. 永久配置 IP 2.临时配置 IP 3.网络调试命令 三、网络编程核心概念&#xff1a;Socket 与字节序 1.Soc…

作者头像 李华
网站建设 2026/1/22 9:07:16

Excel超实用技能,一键批量快速合并相同内容单元格,瞬间搞定

经常使用Excel整理分析数据的小伙伴可能会有这样的烦恼,拿到一个工作簿后,工作表中有很多重复的数据,而且这些数据对应的数值可能各不相同,怎么快速合并这些相同内容的单元格呢? 熟知Excel操作的小伙伴,动动手指也就是几分钟的事情。使用高版本Excel的小伙伴更是几十秒就…

作者头像 李华
网站建设 2025/12/23 23:42:08

Java虚拟机面试题:内存管理(下)

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

作者头像 李华