20161015随笔添加

今天主要讲述了 第六章 集合及特殊集合

集合的基本信息:

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

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

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

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

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

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

一、ArrayList集合:

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

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

相同点:

(1)两者都实现了IList、IList、ICollection、IEnumber接口:

(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中

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

.Insert()                                           将元素插入Array 的指定索引处的元素

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

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

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

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

.Reverse()                                     翻转整个集合

ArrayList集合的示例:

定义集合并添加数据示例:

ArrayList集合的语句示例:

示例一:清空集合中的所有数据

al.clear();//清空集合中的数据元素,清空之后还可以在重新Add添加元素

示例二:查看集合中第一个为12的数据的索引

int sy=al.IntdexOf(12);

Console.WriteLine(第一个索引为:“+sy)

//查找第一个为12的数据的索引

//一定要注意输入时的数据类型

//打印之后如果返回-1,则表示没找到

示例三:创建新的集合,并将之前的集合中的数据复制到新的集合,并判断新集合中是否有某一个数据

ArrayList xal=new ArrayList();

xal=(ArrayList)al.Clone();

//克隆其中的元素数据,装入新的集合中

 

bool c=xal.Contains(12);

//判断集合中是否含有这个数,返回bool值

 

二、Stack集合,

栈:stack, 先进后出,一个一个赋值,按顺序。

属性和方法

.count           取集合内元素的个数

.push()           将元素一个一个推入集合中

.pop()              将元素一个个弹出集合

.clear()             清空集合

 

posted on 2016-10-17 09:10  sdutlyy  阅读(83)  评论(0)    收藏  举报