集合

集合的基本信息:

System.Collections(收藏)命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。

System.Collections.Gendric命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。

System.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。

常用的集合为ArrayList类;特殊集合一般会用到Queue队列集合、Stack栈集合还有Hashtable 哈希表集合。

集合不同于数组,是一组可变数量的元素的组合,这些元素可能共享某些特征,需要以某种方式一起进行操作。一般来说,这些元素的类型是相同的。

集合与数组的区别:数组是连续的、同一类型数据的一块区域,而集合可以是不连续的,多种数据类型。

一、ArrayList集合

ArrayList实现了IList、ICollection、IEnumerable接口;

ArrayList与Array的名字很相似,现在来比较一下两者的异同。

 相同点:

(1)两者都是实现了IList、ICollection、IEnumerable接口;

(2)两者都可以使用整数索引访问集合中的元素,包括读取和赋值,且集合中的索引都是从0开始。

不同点:

(1)ArrayList是集合,而Array是数组;

(2)ArrayList是具体类,而Array是抽象类;

(3)数组必须在实例化是指定元素的数量,该数量一旦确定就不可以继续更改了,而ArrayList 扩展了这一点,当实例化ArrayList 实例时可以不指定集合元素数(有默认初始容量),当然你也可以指定初始容量。

(4)获取数组的元素时使用Length属性,而获取ArrayList时使用Count属性;

(5)数组可以有多维,而ArrayList只能是一维。

ArrayList 具体提供的功能

属性                                         功能说明

.Count                                   获取ArrayList中实际包含的元素数

方法                                          功能说明

.Add()                                   将对象添加到ArrayList的结尾处

.Clear()                                  从ArrayList中移除所有数据

.Clone()                                 创建ArrayList的副本

.contains()                             确定某元素是否在ArrayList中

.IndexOf()                              已重载。 返回ArrayList或它的某一部分中某个值的第一个匹配项的从零开始的索引

.LastIndexOf()                        已重载。 返回ArrayList或它的某一部分中某个值的最后一个匹配项的从零开始的索引 

.insert()                                 将元素插入ArrayList的指定索引处,可在任意位置插入。

.Remove()                              从ArrayList中移除特定对象的第一个匹配值

.RemoveAt()                           从ArrayList中移除指定索引处的元素

.Sort()                                   已重载。对ArrayList或者它的一部分的元素进行排序,升序

.Reverse()                              翻转整个集合

愿我有生之年,得见您君临天下。 吾辈必当勤勉,持书仗剑耀中华。
原文地址:https://www.cnblogs.com/bloodPhoenix/p/5620636.html