C#中ArrayList
ArrayList
1:位于System.Collections命名空间下,
2:ArrayList的容量可以根据需要自动扩充
3:只能是一维形式,数组可以是多维的
4:提供添加、删除、和插入某一范围元素的方法
三种构造方法
1) ArrayList list1 = new ArrayList();
2) int[] arr = new int[]{} ;
ArrayList list2 = new ArrayList(arr) ;
3) ArrayList list3 = new ArrayList(10) ;
ArrayList的属性
1)Capacity ---获取或设置ArrayList可包含的元素
2)Count---获取实际包含的元素数
3)IsFixedSize ---获取一个值,指示是否具有固定大小
4)IsReadOnly--- 是否为只读。
ArrayList的方法
1)public virtual int Add(Object value)
2) public virtual void Insert(int index, Object value)
3) InsertRange(int Index, 一维数组的名称)
4) public virtual void Clear() --移除所有元素
5)public virtual void Remove(Object obhj) ---删除指定的元素
6)public virtual void RemoveAt(int Index) ---删除指定索引的元素
7)public virtual void RemoveRange(int index, int count)--删除指定的多个元素
8) foreach遍历ArrayList
9) IndexOf("A") ---返回A第一次出现的索引的位置,未找到的话返回-1;
10) IndexOf("A", 7) ---从索引7开始查找,未找到返回-1 ;
11) LastIndexOf("A") ---最后一次出现A的索引
12)LastIndexOf("A", 7)---下标0~7这段最后一次出现A的位置索引
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//ArrayList类位于System.Collections命名空间内
using System.Collections;//ArrayList是一种动态数组
//ArrayList的容量可以根据需要自动扩充
//ArrayList提供了添加,删除,和插入某一范围元素的方法
//Array List提供了将只读和固定大小包装返回集合的方法,数组不提供
//Array List只能是一维的形式,数组可以多维namespace ArrayListDemo01
{internal class Program{static void Main(string[] args){//ArrayList的构造函数//以默认(16位)大小来初始化内部的数组ArrayList list = new ArrayList();//用一个ICollection对象来构造,并把集合的元素添加到ArrayList中int[] arr1 = {10,9,8,7,6,5,4,3,2,1,0,11,12,13,14,15,16};ArrayList list1 = new ArrayList(arr1 );//用指定大小初始化内部数组ArrayList list2 = new ArrayList(20);Console.WriteLine("list中包含的元素数为:");//ArrayList的属性Capacity获取或设置ArrayList中可包含的的元素数Console.WriteLine(list.Capacity);list.Capacity = 10;Console.WriteLine("list可以包含的元素数:");Console.WriteLine(list.Capacity);//ArrayList中的属性Count是获取实际包含的元素数//如果ArrayList没有被初始化,那么count=0;Console.WriteLine("list中实际包含的元素数:");Console.WriteLine(list.Count);//ArrayList的初始化for(int i=0; i<list.Capacity; i++){list.Add(i);}Console.WriteLine("初始化后,list内包含的元素数:");Console.WriteLine(list.Count);//常用的属性及说明//IsFixedSizeConsole.WriteLine(list1.IsFixedSize); //false//IsReadOnlyConsole.WriteLine(list1.IsReadOnly); //false //Item 获取或设置指定索引处的元素//和数组访问元素的方法一样Console.WriteLine(list1[5]);//ArrayList中的方法//public virtual int Add(Object value)//virtual方法在派生类中可以不重写,有方法体//抽象方法只有声明没有方法体,派生类中必须重写list1.Add(17);list1.Add(18);foreach(int i in list1){Console.Write(i + " ");}Console.WriteLine();//Insert(), 插入元素//public virtual void Insert(int index, Object value)list1.Insert(0, 100);foreach (int i in list1){Console.Write(i + " ");}Console.WriteLine();//ArrayList插入一个数组//InsertRange()int[] arr2 = {11,22,33,44,55,66,77 };list1.InsertRange(5,arr2);foreach (int i in list1){Console.Write(i + " ");}Console.WriteLine();//ArrayList删除一个元素int[] array = {11,2,3,44,55,55,55,66,77,88,99,100,101,102 };ArrayList al1 = new ArrayList(array);//Remove()从ArrayList中移除特定对象的第一个匹配项al1.Remove(55);//括号里面是ArrayList中的元素foreach (int i in al1){Console.Write(i + " ");}Console.WriteLine();//RemoveAt()移除指定索引的元素al1.RemoveAt(5);//括号里面是索引foreach (int i in al1){Console.Write(i + " ");}Console.WriteLine();//RemoveRange()//public virtual void RemoveRange(int index, int count)al1.RemoveRange(4, 3);foreach (int i in al1){Console.Write(i + " ");}Console.WriteLine();//clear()删除所有元素al1.Clear();Console.WriteLine(al1.Count);//获取实际包含的元素数Console.WriteLine(al1.Capacity);//获取或设置可包含的元素数Console.WriteLine();int[] al2 = new int[] { 11, 33, 2, 5, 10, 10, 10, 15, 63, 64, 54 };ArrayList arrList = new ArrayList(al2);//Indexof("A")返回第一次出现的索引位置,未找到返回-1Console.WriteLine("第一次出现10的索引位置为:{0} ", arrList.IndexOf(10));//IndexOf("A", 7)从索引7开始查找,未找到返回-1,包含7这个索引位置Console.WriteLine(arrList.IndexOf(10, 5));//=5;//LastIndexOf(10)从后面开始检索10第一次出现的索引Console.WriteLine(arrList.LastIndexOf(10));//=6从Console.WriteLine(arrList.LastIndexOf(10, 4));//=4//public virtual bool Contains(Object item)Console.WriteLine(arrList.Contains(20));//=falseConsole.WriteLine(arrList.Contains(10));//=true}}
}
相关文章:
C#中ArrayList
ArrayList 1:位于System.Collections命名空间下, 2:ArrayList的容量可以根据需要自动扩充 3:只能是一维形式,数组可以是多维的 4:提供添加、删除、和插入某一范围元素的方法 三种构造方法 1) ArrayList list1 n…...
【MySQL】批量插入数据造数-存储过程
日常工作中可能有针对需要对某个表进行造数,如何批量插入呢? 可以使用存储过程循环结构。下面是一个存储过程以插入100条,while语句后的<控制循环次数。 concat是一个拼接语句,拼接后是test_1-100,这种也适用于ID/…...
基于Java+SpringBoot+Vue+MySQL的高校物品捐赠管理系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于SpringBootVue的高校物品捐赠管理系统【附源码文档】、…...
UNION和UNION ALL的区别
一、区别 去重功能 UNION会去除结果集中的重复行。UNION ALL不会去除重复行,它只是简单地将多个结果集合并在一起。 性能 UNION ALL通常比UNION性能更好,因为UNION需要进行去重操作,这会增加额外的计算开销。 二、具体例子 假设有两个表tab…...
科研绘图系列:R语言PCoA图(PCoA plot)
文章目录 介绍PCoA图的作用:说明的问题:加载R包导入数据数据预处理画图参考介绍 PCoA(主坐标分析,Principal Coordinate Analysis)是一种多维数据的降维技术,它用于探索高维空间中样本之间的关系。PCoA通常用于生态学、遗传学和其他领域的数据分析,以揭示样本或个体之间…...
C++ 容器元素排序函数sort()
前言 std::sort()是C标准库提供了一个模板函数,这个函数用于对给定范围内的元素进行排序,默认情况下,它使用元素类型的 < 操作符来确定元素的顺序。如果元素类型不支持 < 操作符,或者你需要按照不同于 < 的顺序来排序&a…...
如何在极狐GitLab中添加 SSH Key?
本文分享如何生成 SSH Key 并添加到极狐GitLab 中,然后用 SSH Key 进行代码拉取。 极狐GitLab 是 GitLab 在中国的发行版,可以私有化部署,对中文的支持非常友好,是专为中国程序员和企业推出的企业级一体化 DevOps 平台࿰…...
Kafka-设计原理
ControllerLeader - PartitionRebalance消息发布机制HW与LEO日志分段 Controller Kafka核心总控制器Controller:在Kafka集群中会有一个或者多个broker,其中有一个broker会被选举为控制器(Kafka Controller),它负责管理…...
51单片机的智能台灯设计【proteus仿真+程序+报告+原理图+演示视频】
1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块DS1302时间模块光敏传感器模块人体红外模块按键等模块构成。适用于智能台灯、自动调节灯光亮度等相似项目。 可实现基本功能: 1、LCD1602实时显示北京时间、环境光照强度、手动/自动模式、台灯亮度等信息࿱…...
【论文阅读】一种针对多核神经网络处理器的窃取攻击(2020)
摘要 攻击者可以通过侧信道信息(Side-channel)完成模型窃取攻击[17]. [17] Hua W Z, Zhang Z R, Suh G E. Reverse Engineering Convolutional Neural Networks through Side-channel Information Leaks[C]. 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC), 2018…...
基于VUE的校园二手物品交易管理系统的设计与实现 (含源码+sql+视频导入教程)
👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于VUE的校园二手物品交易管理系统8拥有两种角色 管理员:闲置物品管理、订单管理、用户管理 用户:登录注册、购物车、发布闲置物品、评论、发货、收货地址管理等…...
pytest 常用的辅助函数和工具函数
pytest 常用的辅助函数和工具函数示例 # File: my_module.pydef fetch_data():return process datadef process_data():data fetch_data()return data.upper() import logging import sys import pytest#01-------------------------------pytest.fixture,sample_data 在测试…...
记录Java秋招面经(网上找的)
1.Mysql的存储机制,怎么落到库里面的? 当数据插入 MySQL 时,首先数据修改会在内存中的 Buffer Pool 中完成,同时记录写入 Redo Log 以保证事务的持久性。事务提交时,日志会被刷入磁盘,确保数据可以恢复。修…...
记录k8s重启之后kubelet无法启动的问题
重启机器后,kubelet没有自启动,手动启动失败,检查日志反馈找不到bootstrap-kubelet.conf这个文件。 systemctl start kubelet journalctl -u kubelet 57481 run.go:74] "command failed" err"failed to run Kubelet: unable …...
IA——网络操作设备VRP简介
一,VRP简介 二,网络设备的管理 (1)console口: (2)talnet: (3)SSH: 安全的远程登陆 (4)通过WEB页面登录: 三,命令行常见…...
Java项目: 基于SpringBoot+mysql企业客户管理系统(含源码+数据库+答辩PPT+毕业论文)
一、项目简介 本项目是一套基于SpringBootmysql企业客户管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功…...
基于STM32设计的智能安防系统(微信小程序)(218)
文章目录 一、前言1.1 项目介绍【1】开发背景【2】项目实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】整体构架【3】微信小程序开发思路1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要【5】项目背景1.4 开发工具的选择【1】设备端…...
tomcat redis minio nginx windows开机自启
tomcat 开机自启 命令 service.bat install 控制台输入 service.bat install 再到服务中去查看有没有注册成功,minio,redis,nginx 也是一样在服务里查看注册成功没 redis 开机自启 命令 redis-server.exe --service-install redis.windows.conf --loglevel ve…...
Docker构建镜像教程
目录 1. Docker 环境准备2. 编写 Dockerfile3. 构建 Docker 镜像4. 运行容器5. 管理镜像和容器6. 镜像的导出和导入6.1 导出 Docker 镜像6.2 导入 Docker 镜像6.3 导出与导入的实际场景6.4 压缩导出的镜像 7. 推送镜像到 Docker Hub8. Dockerfile 指令详解1. FROM2. RUN3. WORK…...
扑捉一只耿鬼(HTML文件)
图例: 代码: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>耿鬼</title><style>body {background: #fff;font-family: Comfortaa, sans-serif;}* {box-sizing:…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...
CMS内容管理系统的设计与实现:多站点模式的实现
在一套内容管理系统中,其实有很多站点,比如企业门户网站,产品手册,知识帮助手册等,因此会需要多个站点,甚至PC、mobile、ipad各有一个站点。 每个站点关联的有站点所在目录及所属的域名。 一、站点表设计…...
