使用集合组织相关数据
ArrayList
ArrayList非常类似于数组。也有人称他为数组列表,它的容量可以根据需要进行动态扩充,而它的索引也会根据集合容量的扩展而重新分配和调整。也就是说ArrayList集合中的元素的下标是不确定的、可变的。
ArrayList类属于System.Collections命名空间,这个命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。
ArrayList的属性和方法:
集合初始化器:
有一系列的元素初始化器构成,包围在“{”和“}”之间,并使用逗号进行分割。每个元素初始化器指定一个元素,该元素将被添加到待初始化的集合对象中。通过集合初始化器,无需将代码中指定多个对该类Add()方法的调用。从而节省很多空间。
ArrayList list =new ArrayList()
{
new SE(){Name=“王小毛”,Age=22,Sex=“男”},
new SE(){Name=“王晓债”,Age=12,Sex=“男”},
new SE(){Name=“小花”,Age=12,Sex=“女”}
}
Hashtable:
HashTable的数据结构,通常称他为哈希表也有人称他为“字典”,给它起字典这个名字是因为它和字典非常类似,都是通过一个单词查找出有关此单词的更多信息,HashTable是通过键(Key)对值(Value)来组织数据的。
泛型和泛型集合
泛型
泛型引入了一个概念:类型参数。通过使用类型参数(T)减少了运行时强制转换或装箱操作的风险,通过泛型可以最大限度的重用代码,保护类型的安全及提高性能,他的最常见应用就是创建集合类,可以约束集合类中的元素类型。比较典型的泛型集合是List<T>和Dictionary<>;
泛型优点:
性能高。普通集合数据,需要装箱和拆箱的操作,而泛型无需类型的转换操作
类型安全。泛型集合对它所储存的对象进行了类型的约束。
实现代码的重用。泛型相当于模板,由于它支持任意的数据类型,开发人员不必为每种特定的数据类型编写一套方法,所以它具有极大的可重用性。
泛型集合List<T>
List<T>类的用法类似于ArrayList 遍历必须使用Foreach
List<T>中的T表示可以对集合中元素类型进行约束,T表明集合中管理的元素类型
语法:
List <T> 集合名称=new List<T>();
List <SE> list=new List<SE>();
List<T>与ArrayList的区别:
异同点
|
List<T>
|
ArrayList
|
不同点
|
对所保存的元素进行类型约束
|
可以增加任何类型
|
添加/读取值类型元素无须拆箱,装箱
|
添加/读取值类型元素需要拆箱,装箱
|
相同点
|
通过索引访问集合中的元素
|
添加元素方法相同
|
删除元素方法相同
|
泛型集合Dictionary<K,V>
语法
Dictionary<K,V>对象名=new Dictionary<K,V>();
例如:
Dictionary<string,SE>engineers=new Dictionary<string,SE>();
Dictionary和Hashtable的区别:
异同点
|
Dictionary<K,V>
|
Hashtable
|
不同点
|
对所保存元素做类型约束
|
可以增加任何类型
|
添加/读取值类型元素无须拆箱,装箱
|
添加/读取值类型元素需要拆箱,装箱
|
相同点
|
通过Key获取Value
|
添加元素方法相同
|
删除元素方法相同
遍历方法相同
|
原文地址:https://www.cnblogs.com/luoxionghenku/p/8185083.html