Stack
Stack的本质
本质是封装了特殊存储规则的 object[]
数组
Stack
是栈存储容器,栈是一种先进后出的数据结构
先存入的数据后获取,后存入的数据先获取
//申明
Stack stack = new Stack ();
//增
//压栈
//因为是object类,所以能装任何内容
stack.Push(1);
stack.Push("123");
//取
//栈中不存在删除概念
//弹栈
//先进后出,所以会出来的是“123”
object v = stack.Pop();
//查
//栈无法查看指定位置的元素,只能查看栈顶的内容
//只是查看,没有弹出栈里的内容
v = stack.Peek();
//查看元素是否存在于栈中
if (stack.Contains(1))
{
Console.WriteLine("存在1");
}
//栈无法改变其中元素,只能清空
stack.Clear();
//长度
Console.WriteLine(stack.Count);
//因为栈没有实现索引器,所以只能用foreach遍历
//遍历
//依然遵循先进后出
foreach(object item in stack)
{
Console.WriteLine(item);
}
//将栈转换位object数组,这个时候就可以用for循环遍历
//遍历的顺序依旧是从栈顶到栈底
object[] array = stack.ToArray();
for(int i;i<array.Length;i++)
{
Console.WriteLine(array[i]);
}
//循环弹栈
while(stack.Count > 0)
{
object o = stack.Pop();
Console.WriteLine(o);
}
因为栈的本质也是object数组,所以存储或者使用时就可能存在装箱拆箱
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)