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

【无标题】ArrayList与list

ArrayList:动态数组一个不固定长度的数组集合,并且可以存储不同类型的元素,例如一个arrryList对象可以存储整型,字符串,对象,数组等。
但是int[]这种数组一旦创建好之后 不能后续添加元素,也就是长度是固定,并且一个数组对象只能存储一种类型的元素
ArrayList 弊端:取出元素是一个obje 必须对其在进行类型转换

//创建一个arrayList 对象
int[] ints = new int[] { 1, 2, 3 };
People p1 = new People() { Name = "zs" };
ArrayList arr = new ArrayList() { 1, 2, 3, "坤拳",true, ints,p1};//初始化添加元素

// 2 取出元素 通过索引值取元素 arr[1]
//int aa = arr[0];//数组取出的元素是object类型,如果想转成其他类型,必须强制转换
Console.WriteLine(Convert.ToInt16(arr[1]));

//3清空元素
arr.Clear();

//4添加元素
arr.Add(1);
arr.Add("说得好");//添加一个元素
arr.AddRange(ints);//也可以添加一个数组

//5删除元素
arr.Remove("说得好");//删除指定元素
arr.RemoveAt(0);//删除指定位置元素
arr.RemoveRange(0,3);//从指定参数1位置开始删除个数的元素

//6 数组插入
arr.Add(12);
arr.Add(24);
arr.Insert(1, 36);//在参数1这个位置插入参数2这个元素
//arr.InsertRange(0,ints); //在指定位置插入一个数组

//7修改
arr[1] = 48;
//8数组排序
arr.Sort();//默认的是升序排序

//9 IndexOf()元素的索引值
Console.WriteLine(arr.IndexOf(48));

//10 count 获取数组的个数
Console.WriteLine(arr.Count);

//11.Reverse()把数组里面的元素进行倒序
arr.Reverse();

//12 toArry();把ArryList 转成Array(int [])
object [] ii =arr.ToArray(); //Array int

//ArrayList类; arr 对象
//8查询可以查询一个arr[1],查询多个for遍历
//最后算法遍历元素
//如果数组元素类型不一样遍历的时候把类型改为object
foreach (object i in arr)
{
Console.WriteLine(i+"-------");
}

ArrayList动态数组 存储元素类型object类型,取出的时候转成对应的类型,类型不安全

List:方法和ArryList很像 区别在于list可以指定类型进行存储,存储同一种类型数据,取出时候不用强制转换,保证数据类型安全
List<int>list1=new List<int>();//创建集合对象

//1添加元素
list1.Add(1);
list1.Add(2);
list1.Add(3);
list1.AddRange(new int[] { 9, 10, 1 });//添加多个

//2删除
list1.Remove(11);//删除指定元素
list1.RemoveAt(list1.Count - 1);//删除指定位置的元素
list1.RemoveAll(v =>v%3== 0);//删除满足条件所有的元素
//3 修改
list1[0] = 999;

//4插入数据
list1.Insert(1, 888);//在索引值为1的地方插入888

//5 Indexof()获取元素的索引值
Console.WriteLine(list1.IndexOf(8888));

//6 Clear()清空集合
//list1.Clear();清空集合

//7Any()有一个满足条件就为true
Console.WriteLine(list1.Any(v => v > 888));

//8 Average()求序列中元素的平均值
Console.WriteLine(list1.Average());
//9 Concat()拼接俩个数组,返回的是一个新数组
list1.Concat(new int[] { 36});
//10 Contains()数组是否包含2
Console.WriteLine(list1.Contains(2));

//11Sum()求和
Console.WriteLine(list1.Sum());

//12 Skip()跳过自定的个数,返回剩余的
//list1.Skip(1);
int[] ss = list1.Skip(1).ToArray();

//13 Max 找出序列元素最大值
Console.WriteLine(list1.Max());

http://www.cnnetsun.cn/news/25883.html

相关文章:

  • C语言作业
  • 面向初学者的Modbus通信入门指南,使用完全免费的开发工具完成基础通信测试,无需寻找商业软件的注册码。包含step by step操作步骤和常见问题解答。
  • 1小时构建MTTF监控看板:快速原型开发实战
  • Nacos配置管理:传统方式与AI辅助开发效率对比
  • 【收藏必备】企业AI落地5大挑战:AI产品经理实战指南
  • 电商平台Redis缓存管理实战案例
  • 5分钟快速上手GPT-2 XL:新手必看的完整指南
  • AI助力开发:用VSCode摸鱼插件提升编程效率
  • 如何零基础搭建本地AI搜索引擎:从Google依赖到自主掌控
  • AI如何帮你快速搭建RAID10存储系统?
  • GC5035图像传感器深度解析与完整指南
  • 终极串口调试助手:RS485/RS232设备测试完全指南
  • 【YOLO11-MM 多模态目标检测】交叉CrossTransformerFusion特征融合、抛弃Concat、实现全局把控
  • 1小时验证创意:蓝牙水控器原型开发全记录
  • 5分钟快速验证:用Docker在Ubuntu搭建Python数据分析环境
  • VCU应用层模型:实车量产中独立功能模型的编译支持
  • Sanic框架CLI参数解析异常深度解析与修复指南
  • 效率对比:传统vs AI辅助开发Vue-Baidu-Map
  • Bodymovin/Lottie完整教程:从零开始掌握动画导出与渲染
  • Figma汉化插件实战:跨国团队协作的救星
  • 永磁同步电机控制玩的就是环套环的把戏,今天咱们拆解一套RSMDO+DBCC组合拳。这玩意儿在工业现场对付参数变化和负载扰动特别带劲,不信你看完下面的代码实操
  • 2024年CUPT技术探索:水滴透镜comsol仿真技术与实际应用分析
  • Linux小白也能懂:fcitx5中文输入法安装使用图解
  • 用AI构建导师评价系统:5分钟开发全流程
  • AI图像修复工具深度优化指南:从基础应用到专业调优
  • AI一键生成Oracle安装脚本,告别复杂配置
  • 实用Node-RED编程:从零到精通的完整学习指南
  • OpenAI Whisper Turbo模型实战部署:从零到一构建高效语音转写系统
  • 企业级项目中依赖注入错误的5个真实案例解析
  • MES信息化智能化解决方案,MES实施方案