1---集合,可以理解成容器 泛型集合 非泛型集合
2---使用集合用到的命名空间 using System.Collections.Generic;
3---集合是如何来的?
集合的前辈是数组,数组在内存中是连续存储的,所以它的索引速度非常快,赋值和修改数据也很方便;
但是数组也有很多不足的地方:比如在数组的两个数据之间插入数据是很麻烦的;还有我们在声明数组的时候,
必须声明数组的长度,声明的长度过长,会造成内存浪费;数组长度过短,会有数据溢出的错误。而C#最新提出了
ArrayList对象来客服这些缺点;
4---常用方法?
Add() Insert(num,"值"); Clear();Remove();Count();RemoveAt();Next(minValue,maxValue);Contains();
5---C#2.0后又会出现List<T>呢?
ArrayList的确定 存储的类型各种各样,存在装箱拆箱的操作;
6---List 声明List集合的时候 要声明集合内数据的对象类型;
6---数组 存储同一种数据类型的容器;1 只能存储同一种数据类型;2 一旦初始化,长度是固定的 3 数组中的元素和元素之间的内存地址是连续的;
object类型的数组和存储任何类型的数据;
ArrayList和List的区别
1 ArrayList对元素的类型没有限制
2 ArrayList对元素的类型没有限制 所以把这些元素当做Object对象来存储
3ArrayList使用时 效率低一些
声明一个List对象
List<string>theVal=new List<string>();
List<"自定义类">ll=new List<"自定义类">();//也可以使用自定义类
//List对元素类型有限制 但ArrayList对元素类型没有限制 可以添加各种类型的元素
//添加元素使用Add()方法
theVal.Add("Hello");
theVal.Add("World");
theVal.Add("Cui");
//使用Insert()方法插入元素 把字符串插入到下标为1的位置
theVal.Insert(1,"hi");
//使用Remove()方法删除指定元素
theValue.Remove("hi");
//使用RemoveAt()删除指定下标的元素
theVal.RemoveAt(1);
//使用count元素获取当前list集合中的元素个数
int num= theVal.count();
//使用Contains()方法判断指定的元素是否存在list集合中
bool b=theVal.Contains("hello");
//使用Clear() 清除整个list集合
theVal.Clear();
二 ArrayList和list不同 可以存储各种类型的元素
ArrayList arr=new ArrayList();
arr.Add("123");
arr.Add("hello");
arr.Add("你好");
//2 因为ArrayList对元素类型没有限制 所以把这些元素当做Object来存储
string str=Convert.ToString(arr[0]);//arr[0]是Object类型
string str1=(string)arr[0];