// 集合 & 字典的初识 // 集合的使用 // 集合与数组比较类似,都用于存放一组值 // 数组的优劣势分析 // 1. 优势:数组在内存中是连续存储的,所以他的索引速度非常的快,而且赋值与修改元素也很简单 // 2. 劣势:在数组的连个数据之间插入数据很麻烦 在声明数组的时候,必须同时指明数组的长度,数组的长度过长,会 // 造成内存浪费,过低,会造成数据溢出的错误; // ArrayList的使用 // arraylist 是 .NetFramework 提供的用于数据存储和检索的专用类 // 他是命名空间 System.Collections 下的一部分 // ArrayList 的优势 // 1. ArrayList 的大小是按照其中存储的数据来动态扩充与收缩的 // 2. 在声明 ArrayList 对象时并不需要指定他的长度 // 3. ArrayList 可以很方便的进行数据的添加,插入和移除 ArrayList arrayList = new ArrayList(); // 将数据新增到集合结尾处 arrayList.Add("123"); arrayList.Add(1234); // 修改指定索引处的数据 arrayList[1] = 12; // 移除指定索引处的数据 arrayList.RemoveAt(0); // 移除索引是 0 的数据 // 移除指定内容的数据 arrayList.Remove(1234); // 移除内容是 1234 的数据项 // 在指定索引处加入数据 arrayList.Insert(1, 2); // 在索引1处插入数据2 // 范围删除数据 arrayList.RemoveRange(0,2); // 从索引 0 开始 删除 2 个数据项 // 为何没人使用 ArrayList 集合而去使用 List 集合 // ArrayList 的劣势 // ArrayList 在存储数据时使用obbject进行存储的 // ArrayList 不是类型安全的,使用的收可能出现类型不匹配的错误 // ArrayList 的存储在拆箱和装箱操作,导致其性能低下 // 把值类型转换引用类型 就叫做 装箱 // 把引用类型转换值类型 就叫做 拆箱 - 性能损耗 // arrayList劣势的解决 使用 List 集合 // List 集合 和 ArrayList 集合都继承了相同的接口 所以很类似 // 在声明List集合时,需要同时为其声明List集合内的数据的对象类型 List<string> strings = new List<string>(); // 声明一个类型是 string 的 List 集合 // 将数据新增到集合的结尾处 // strings.Add(123); // 插入的如果不是 string 就会报错 strings.Add("123"); // 对象初始化赋值 List<int> ints = new List<int>() { 1, 2, 3, 4 }; // 遇到 <> 是泛型的指定 // 修改指定索引的数据 ints[0] = 0; // 移除指定索引的数据 ints.RemoveAt(0); // 移除内容是 4 元素 ints.Remove(4); // 指定索引处插入元素 ints.Insert(1, 23); // 索引 1 处插入元素 23 // 返回集合第一个对象 ints.First(); // 求出集合的长度 ints.Count(); // 数组是 length 集合 是 Count // 拿到第一个 item // items.FirstOrDefault(m => m.id == 1); // 拿到第一个 id = 1 的item //ints.FindAll(m => m.Name == "ACE"); // 拿到所有 Name = ACE 的 items
标签:C#,ArrayList,List,索引,ints,集合,arrayList From: https://www.cnblogs.com/zhulongxu/p/18050084