【C#】—ArrayList与List

前言

   之前学习的数组是具有固定长度的数组集合,而泛型集合和集合是动态数组是可变的,长度不受限制,泛集合与数组相同的地方是只能存储相同类型的数据,而集合是可以存储不同类型的。集合可以理解为存储事物的容积,数组也是集合,List也是集合。

集合与泛型集合之间的区别

  • ArrayList是弱类型,List是强类型

  • ArrayList是需要应用命名空间:using System.Collections;而List不需要,因为控制台应用程序默认添加了System.Collections.Generic命名空间。

  • 定义的基本语法不同:
    集合语法:ArrayList 名称=new ArrayList();
    泛型集合语法:List<数据类型> 集合名称=new List<数据类型>();

  • 泛型集合,只能存储定义了的数据类型,而集合ArrayList可以放各种类型的值

  • 泛型集合比较安全,不用拆箱,装箱,效率比较高,集合类提供对堆栈、队列、列表和哈希表的支持。泛型集合性能优于非非泛型集合类型

  • 相同点长度都是可变的,具有多个方法,集合和泛集合有相同的方法也有不同的方法

    集合与泛型集合常用的方法

1)  Add() 向集合末尾增加元素(元素指的就是数据,)。
2)  Insert(索引,值) 向集合指定的位置添加元素。第1个参数是下标值(也称为索引值,是从0开始的),第2个是需要插入的数据值。
3)  Remove(值) 从集合中移除第一个匹配(相等的)元素。
4)  RemoveAt(索引)从集合中移除指定索引(下标)位置的元素。
5)  RemoveRange(索引,个数)从集合中指定位置删除指定个数的元素。注意:删除的下标值和长度都不能超出范围,否则出错。
6)  Clear()全部清空集合的所有数据。
7)  Contains()      判断元素是否在集合中,返回一个布尔类型的值

泛型集合方法

泛型集合有的方法而集合没有的方法:
1.最大值

int max=List.Max();


2.最小值

int min =List.Min();

3.平均值

double ave =List.Average();

4.求和

int sum=List.Sum();

5.返回集合中第一个值,如果集合为空是,则不返回默认值

int first =priceList.FirstOrDefault();

6.最后一个值

int last =List.Last();

7.最后一个值,返回默认值

int lastDefault =List.LastOrDefault();

为什么使用泛型集合

泛型的特点:
1) 性能好:不需要装箱和拆箱操作。 ArrayList是非泛型集合,添加数据时需要装箱。而List是泛型集合,用来替换ArrayList集合的。
2) 类型安全:在实例化List时,需要指定数据类型,是强类型的。
3) 代码重复度高:泛型可以定义一次,用许多不同的类型实例化。
4) 遍历:即可以使用for循环,也可以使用foreach循环遍历集合中的数据。

总结

ArrayList与List经过一对比清楚了不少,C#中集合太多了,哈希表也是非泛型集合的一种,字典是泛型集合的一种,几种集合都各自有相同的不同点,在后边学习中还要深入理解。什么时候用哪种集合,这样能提高效率,保证代码质量。

猜你喜欢

转载自blog.csdn.net/a15076159739/article/details/81608791