一些关于集合的不不清不楚的东西
集集集集集集合
1.集合分为 泛型集合 List 和 非泛型集合 ArrayList
2.集合与数组类似 但相比较于数组 集合的好处在于 长度不固定 数据类型可以不用定义(牵扯到泛型集合最基本的判断 事先定义数据类型的为泛型集合 否则为非泛型集合)
并且集合区别于数组的是可以动态扩容,并且它的索引会 根据程序的扩展而重新进行分配和调整。被删除的对象,索引也并不会占位。
3.泛型集合的命名空间为 using System.Collections.Generic 非泛型集合的命名空间为 using System.Collections
4.关于命名空间 非泛型的命名空间在C#程序时自动生成 意味着C#提倡使用泛型集合 因为 使用泛型编写程序增加了极大的效率和灵活性,不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换。
非泛型集合
5.关于ArrayList(单列集合)的使用
Add(Object value)将对象添加到ArrayList的结尾处。并且返回值 为int。
Remove(Object value)将指定的元素删除,并且一次只删除一个。
RemoveAt(int index)将指定元素下标的值删除。
Insert(int index,Object Value)将指定的元素添加到指定的下标。
Contains(Object Value)判断指定的元素是否存在集合中,返回值为布尔类型。
Clear()删除集合中的所有元素
6.关于Hashtable(哈希表)的使用
keys:键的集合
Values:值的集合
Add(Object key,Object Value):将指定的键和值的元素添加到集合中。
Remove(Object Key):移除带有指定键的元素
Clear():移除所有元素
泛型集合
7. 泛型集合是C#2.0的一个新特性。泛型引入一个概念:类型参数。是一个数据类型,可以是类类型,基本数据类型。通过使用<T>类型参数
泛型集合也主要分为两种使用
List<T> 对象名 = new List<T>(); 和 Dictionary<k,v> 对象名 = new Dictionary<k,v>();
8.泛型优点
1.性能高:定义数据类型,不需要类型转换,避免拆装箱带来的性能损失;
2.类型安全:定义允许使用的数据类型,在编译时检查类型错误(可以将运行期间的错误提前抛给编译期间),及早发现错误。
3.实现代码的重用。泛型就相当于模板,由于它支持任意的数据类型。开发人员不必为每种特定的数据类型编写一套方法。所以它具有极大的可重用性。