一些关于集合的不不清不楚的东西

                集集集集集集合

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.实现代码的重用。泛型就相当于模板,由于它支持任意的数据类型。开发人员不必为每种特定的数据类型编写一套方法。所以它具有极大的可重用性。

原文地址:https://www.cnblogs.com/www-zsl187-com/p/8724158.html