theme: smartblue
一、集合的使用
集合与数组比较类似,都用于存放一组值
二、数组的优劣
2.1 优势
数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单。
2.2 劣势
在数组的两个数据间插入数据很麻烦,
在声明数组的时候,必须同时指明数组的长度,
数组的长度过长,会造成内存浪费,数组和长度过短,会造成数据溢出的错误
三、ArrayList
·ArrayList是NET Framework提供的用于数据存储和检索的专用类
·它是命名空间 systemCollections 下的一部分
2.1 优势
ArrayList的大小是按照其中存储的数据来动态扩充与收缩
的
在声明ArravList对象时并不需要指定它的长度
ArrayList可以很方便
的进行数据的添加,插入和移除
2.2 劣势
ArrayList 在存储数据时时使用 object
类型进行存储的
ArrayList 不是类型安全的,使用时很可能会出现类型不匹配
的错误
就算都有插入了同一类型的数据,但在使用的时候,我们也需要将它们转化
为对应的原类型来处理
ArrayList 的存储存在装箱和拆箱操作,导致其性能低下
正是因为ArrayList 存在不安全类型与装拆箱的缺点,所以在C#2.0后出现泛型的概念。
2.3 使用
``` ArrayList arrayList = new ArrayList();
//将数据新增到集合结尾处 arrayList.Add("abc"); arraylist.Aad(123);
//修改指定索引处的数据 arrayList[2] = 345;
//移除指定索引处的数据 arrayList.RemoveAt(a);
//移除内容为123的数据 arrayList.Remove(123);
//在指定索引处插入数据 arrayList.Insert(0,"hello world"); ```
2.4 List集合
List集合与ArrayList 由于都继承了相同的接口,故使用与 ArrayList 相似
在声明List集合时,需要同时为其声明 List 集合内数据的对象类型
示例:List<int> intList = new List<int>()
List <int> list = new List<int>() : //将数据新增到集合结尾处 list.Add(123) //对象初始化器赋值 List<int> intList = new List<int> { 1, 2, 3 }; //修改指定索引处的数据 list[2]= 345; //移除指定索引处的数据 list.RemoveAt(0); //移除内容为123的数据 list.Remove(123); //在指定索引处插入数据 list.Insert(0,6688);