C#核心知识回顾——8.ArryList、Stack栈、队列、哈希表

news2024/11/25 8:21:15

1.ArryList

ArrayList array = new ArrayList();
        
        //1.增
        array.Add(0);
        array.Add("1");
        array.Add(false);
        ArrayList arrayList = new ArrayList();
        arrayList.Add(123);
        //范围增加(类似于拼接)
        array.AddRange(arrayList);
        //插入(指定位置)
        array.Insert(1, "12345");

        //2.删
        array.Remove(0);//删除第一个找到的指定元素
        //移除指定位置元素
        array.RemoveAt(0);
        //清空
        //array.Clear();

        //3.查
        //得到指定位置元素
        Debug.Log(array[0]);
        //查看元素是否存在
        if (array.Contains(123))
        {
            Debug.Log("存在123");
        }
        //正向查找元素位置(返回的是索引,找不到返回-1)
        Debug.Log(array.IndexOf(false));
        //反向查找
        Debug.Log(array.LastIndexOf(true));

        //4.改
        array[0] = "789";

2.Stack栈:

Stack stack = new Stack();

        //增
        //压栈
        stack.Push(1);
        stack.Push("2");

        //取
        //弹栈
        object obj = stack.Pop();

        //查
        //1.栈无法查看指定位置的元素
        //  只能查看栈顶的内容
        obj = stack.Peek();//只是看看,没有取出
        //2.查看元素是否存在于栈中
        if (stack.Contains("2"))
        {
            Debug.Log("存在2");
        }

        //改
        stack.Clear();

        //遍历
        //1.长度
        //stack.Count
        //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stack栈不能使用for循环 !!!!!!!!!!!!!!!!!!!!1
        stack.Push(1);
        stack.Push("2");
        foreach (object item in stack)
        {
            Debug.Log(item);
        }
        //2.将stack转成object数组,即可以for循环
        object[] arry = stack.ToArray();
        for (int i = 0; i < arry.Length; i++)
        {
            Debug.Log(arry[i]);
        }
        //4.循环弹栈(循环完以后,栈就空了)
        while (stack.Count > 0)
        {
            Debug.Log(stack.Pop());
        }

3.队列

 Queue queue = new Queue();

        //增
        queue.Enqueue(1);
        queue.Enqueue("123");
        queue.Enqueue(false);

        //取
        queue.Dequeue();

        //查
        //只看不取
        queue.Peek();

        //改
        queue.Clear();

        //遍历
        queue.Enqueue(1);
        queue.Enqueue("123");
        //长度
        Debug.Log(queue.Count);
        //1.foreach
        foreach (object item in queue)
        {
            Debug.Log(item);
        }
        //2.转为object数组
        object[] obj = queue.ToArray();
        for (int i = 0; i < obj.Length; i++)
        {
            Debug.Log(obj[i]);
        }
        //3.循环出列
        while (queue.Count>0)
        {
            Debug.Log(queue.Dequeue());
        }

4.哈希表

private void Start()
    {
        Hashtable ht = new Hashtable();

        //增
        ht.Add(1, "12");
        ht.Add("11", 2);
        ht.Add(false, false);
        //注意!!不能出现相同的键

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

        ht.Add(1, "12");
        ht.Add("11", 2);
        ht.Add(false, false);
        //查
        //通过键查,找不到返回空
        Debug.Log(ht[1]);
        //查看是否存在
        //根据键查询
        if (ht.Contains(1)) { Debug.Log("存在1"); }
        if (ht.ContainsKey(1)) { Debug.Log("存在1"); }
        //根据值查询
        if (ht.ContainsValue("12")) { Debug.Log("存在1"); }


        //改
        ht[1] = 100;

        //遍历        
        //1.遍历键
        foreach (object item in ht.Keys)
        {
            Debug.Log(item);
            Debug.Log(ht[item]);
        }
        //2.遍历值
        foreach (object item in ht.Values)
        {
            Debug.Log(item);
        }
        //3.键值对一起
        foreach (DictionaryEntry item in ht)
        {
            Debug.Log(item.Key + " " + item.Value);
        }
        //4.迭代器
        IDictionaryEnumerator myenu = ht.GetEnumerator();
        bool flag = myenu.MoveNext();
        while (flag)
        {
            Debug.Log(myenu.Key + " " + myenu.Value);
        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/719005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

coxph-基准累积风险函数

右删失数据下的coxph拟合后&#xff0c;得到回归参数和基准累积风险函数&#xff0c;其中基准累积风险函数使用breslow估计得到&#xff1a; 代码&#xff0c;只是为了说明这个问题 res.cox <- survival::coxph(survival::Surv(time, status 2) ~ X1 X2,data auxData)bh…

LLM应用的技术栈与设计模式详解

大型语言模型是构建软件的强大新原语。 但由于它们是如此新&#xff0c;并且其行为与普通计算资源如此不同&#xff0c;因此如何使用它们并不总是显而易见的。 在这篇文章中&#xff0c;我们将分享新兴 LLM 应用程序的参考架构。 它展示了我们所见过的人工智能初创公司和先进科…

AOP简介

问题1&#xff1a;AOP的作用是什么&#xff1f; 问题2&#xff1a;连接点和切入点有什么区别&#xff0c;二者谁的范围大&#xff1f; 问题3&#xff1a;请描述什么是切面&#xff1f; 1.1 AOP简介和作用【理解】 AOP(Aspect Oriented Programming)面向切面编程&#xff0c;…

Vue3----吸顶导航

安装vueuse&#xff1a; npm i vueuse/core 1. 准备吸顶导航组 2.获取滚动距离 <script setup> // vueUse 中 useScroll import { useScroll } from vueuse/core const {y} useScroll(window) </script><template><div class"app-header-sticky&…

iostat命令和vmstat命令

1、iostat命令(磁盘) 1.1、介绍 iostat是I/O statistics&#xff08;输入/输出统计&#xff09;的缩写&#xff0c;iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况&#xff0c;同时也会汇报出 CPU使用情况。同vmstat一样&#xff0c;iostat也有一…

前端基础环境搭建

前端基础环境搭建 序nvm编辑器下载问题 PostMan接口测试工具 序 毕业了第一次写博客&#xff0c;因为入职啦。浅记录下今日工作内容。 刚入职必然是需要搭建好基础的环境。需了解并配置Node.js/NVM/NPM/Git/前端编辑器/Postman等等。 nvm nvm&#xff08;node.js version ma…

数据结构--树的定义与基本术语

数据结构–树的定义与基本术语 数的基本概念 树:从树根生长&#xff0c;逐级分支 非空树 \color{purple}非空树 非空树的特性: 有且仅有一个根节点 没有后继的结点称为“叶子结点”(或终端结点) 有后继的结点称为“分支结点”(或非终端结点) 除了根节点外&#xff0c;任何一个…

4.Squid代理服务器应用

文章目录 Squid代理服务器应用代理服务器代理的工作机制代理服务器的概念代理服务器的作用 Squid代理服务器作用Squid代理的类型 部署Squid安装Squidsystemctl创建squid系统运行构建传统代理服务器构建透明代理服务器Squid部署反向代理服务器 ACL访问控制Sarg图形化日志 Squid代…

11个每个Web开发人员都应该拥有的VS Code扩展

微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势&#xff0c;学习途径等等。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录&#xff0c;有一线大厂面试完整考点、资料以及我的系列文章。 快来免费体验ChatGpt plus版本的&#xff0c;我们出的钱 体验地…

机器学习算法基础学习 # 集成学习之随机森林

随机森林(Random Forests) 是集成学习算法的一种。集成学习是通过组合多个学习器来完成学习任务。随机森林是结合多颗决策树来对样本进行训练和预测。随机森林通过随机扰动而令所有的树去相关。 随机森林可以使用巨量的预测器&#xff0c;甚至预测器的数量比观察样本的数量还多…

Matlab绘图系列教程-Matlab 34 种绘图函数示例(上)

Matlab绘图系列教程&#xff1a;揭秘高质量科学图表的绘制与优化 文章目录 Matlab绘图系列教程&#xff1a;揭秘高质量科学图表的绘制与优化第一部分&#xff1a;入门指南1.1 简介关于本教程的目的与范围Matlab绘图在科学研究中的重要性 1.2 准备工作安装Matlab及其工具箱 1.3 …

干货 | 石化产品机器学习价格模型开发和SEI石化产品价格分析体系构建

以下内容整理自大数据能力提升项目必修课《大数据系统基础》同学们的期末答辩汇报。 我们的报告将分为六个部分&#xff0c;第一部分是研究背景与内容。受疫情影响以来&#xff0c;石化行业市场日趋饱和&#xff0c;竞争激烈&#xff0c;同时利润也受到压缩&#xff0c;大部分石…

谈个人信息保护

一、互联网生存指南&#xff1a;通过哪些方法来加强个人信息保护&#xff1f; 1.密码管理&#xff1a;选择安全可靠的密码&#xff0c;并避免使用容易猜测的密码。不要在不同的网站和应用程序使用相同的密码&#xff0c;以防止未经授权的访问。 2.双重身份验证&#xff1a;使…

AIMAX集群配置sdfstudio容器记录

AIMAX集群配置sdfstudio容器记录 一、登录二、测试三、通过Filezilla传输数据四、通过第三方私有镜像直接创建环境方式1 从dockerhub中下载方式2 上传github中的dockerfile方式3 上传dockerhub中的第三方镜像1. 在ubuntu在安装docker2. 下载第三方镜像3. 修改hosts4. 下载证书5…

【重拾计划】[NOIP1998 提高组] 车站

今日题目 [NOIP1998 提高组] 车站 题目描述 火车从始发站&#xff08;称为第 1 1 1 站&#xff09;开出&#xff0c;在始发站上车的人数为 a a a&#xff0c;然后到达第 2 2 2 站&#xff0c;在第 2 2 2 站有人上、下车&#xff0c;但上、下车的人数相同&#xff0c;因此…

python字典:揭秘无序元素的奥秘之旅

前言 在编程中&#xff0c;数据的组织和管理是一个关键的方面。对于处理和操作数据&#xff0c;Python 提供了许多强大的数据结构&#xff0c;其中最常用和灵活的之一就是字典(Dictionary)。 无论您是初学者还是有经验的开发者&#xff0c;掌握字典的基本知识是非常重要的。本…

解决PyInstaller打包selenium脚本时弹出driver终端窗口

解决PyInstaller打包selenium脚本时弹出driver终端窗口 找到service.py C:\Users\XXX\AppData\Roaming\Python\Python39\site-packages\selenium\webdriver\common\service.py添加creationflags 在第77行添加: creationflags134217728使用PyInstaller打包 pyinstaller -F -w -…

8.2.3 【Linux】xz, xzcat/xzmore/xzless/xzgrep

8.3 打包指令&#xff1a; tar 8.3.1 tar 其实最简单的使用 tar 就只要记忆下面的方式即可&#xff1a; 压 缩&#xff1a;tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称 查 询&#xff1a;tar -jtv -f filename.tar.bz2 解压缩&#xff1a;tar -jxv -f filename…

Lesson2-1:OpenCV基本操作

图像的基础操作 学习目标 掌握图像的读取和保存方法能够使用OpenCV在图像上绘制几何图形能够访问图像的像素能够获取图像的属性&#xff0c;并进行通道的分离和合并能够实现颜色空间的变换 1 图像的IO操作 这里我们会给大家介绍如何读取图像&#xff0c;如何显示图像和如何…