.NET ArrayList

94 阅读2分钟

一、集合的使用

集合与数组比较类似,都用于存放一组值

二、数组的优劣

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(06688);