使用集合组织相关数据

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