泛型集合List

  • 概述
  • 泛型集合List
  • 定义
  • 常用的方法
  • 常用的属性
  • 特点


概述

所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型,可以使用多种数据类型初始化,泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。
C#泛型赋予了代码更强的1:类型安全(强类型)2:更好的复用3:更高的效率4:更清晰的约束
之前学习的一维数组是具有固定长度的数组集合,而泛型集合List<T>动态数组是可变的长度不受限制是以2倍的速度扩容。并且也是只能存储相同类型的数据。
这里主要学习的泛型集合是List<T>,C#中还提供了其它的泛型集合,但使用最多的还是List集合。
集合可以理解为可以存储事物的容器,如:菜篮子,里面存放的是蔬菜等,数组也是集合、List也是集合,但List<T>更是泛型集合

泛型集合List

定义

List泛型集合是在System.Collections.Generic命名空间下的。我们新建的WebForm.aspx页面默认就添加了System.Collections.Generic命名空间。

java list 泛型 能变量吗 list泛型集合_数据类型


有了System.Collections.Generic命名空间,我们就可以使用List集合了。

List定义的基本语法如下:

List<数据类型> 集合名称=new List<数据类型>();

T表示数据类型。

如:

//定义了可以存储int类型的List集合
//可以用来存储学生的年龄
List<int> intList = new List<int>();
//定义了可以存储string类型的List集合
//可以用来存储学生姓名
List<string> strList = new List<string>();

在定义List时,只需要知道要将什么类型的数据存在List集合中就可以了。例如:我要存储学生的姓名,则T就是string类型,如果要存储价格,则T就是double。
在定义List时指定的什么类型,则该集合只能存储该类型。也就是只能存储相同类型的数据。List是引用类型,可以存储任意类型的数据。

常用的方法

其实List集合只是微软定义好的类,其中还提供了许多的方法,我们只需要学会怎么使用就可以了:

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

常用的属性

  1. Count:获取集合中的元素个数,那么集合的最大下标值就是Count-1。
  2. Capacity:获取集合中的元素容量。List<T>集合中的容量是以2倍的速度扩容的。默认是4。
  3. java list 泛型 能变量吗 list泛型集合_List_02


特点

泛型的特点:

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