【3-1】集合

集合:是一组可变数量的元素的组合,这些元素可能共享某些特征,需要以某种操作方式一起进行操作。

集合与数组的区别:数组是连续的、同一类型

要使用集合必须先引用命名空间,using System.Collection;

一、ArrayList集合 (弱类)

定义:ArrayList 变量名=new ArrayList();

赋值:变量名.Add(值/变量); 返回一个object类型

Object类型,所有类型的基础类型

注意:其索引长度获取count个数与数组length长度区分

取值:变量名[索引值]

插队:变量名.Insert(索引,变量/值);

移除:变量名.remove(值/变量); 移除对象的第一个匹配项

      变量名.removeAt(索引);移除索引处值/变量

翻转:变量名.Reverse(); 翻转整个集合

      变量名.Reverse(索引,个数); 从索引处翻转个数个值

清空:变量名.Clear();移除所有对象

个数:对象.count()

是否包含:对象.contains(值)

二List集合(强类)

基本表现形式,List<T>  T:表示泛型

例:List<int> 变量名=new List<int>

List泛型与ArrayList功能一样使用

三哈希表集合(弱类)

Hashtable 变量名=new Hashtable(键,值);

哈希表与其他不同其采用键值对形式,例:

hs.Add(“aa”,”hbghj”);

hs.Add(1,”hjhdk”);

取值:键--对象.key;

值--对象.value;

哈希表型无,插队和翻转

四字典型集合(强类)

 Dictionary:固定类型的哈希表集合

例:Dictionary<int,string> dic=new dictionary<int,string>;

 五队列集合

队列集合是指按队列形式进入出现的集合

1》添加值:对象.Enqueue(值)

2》取值:对象.Dequeue()

例:Queue q=new Queue();

队列集合Queue赋值有所不同其可赋值任意类型,但结构与其他不同

例:q.Enqueue(“qwe”);

    q.Enqueue(123);

其取值只能取一个且按队列形式出现并清空前变量,取值遵循先进先出原则

六栈集合

栈集合与队列集合正好相反,栈集合为挤公交型,先进后出

例:stack s=new stack();

赋值:s.Push();

取值:s.Pop();

集合循环输出结果多采用foreach型其表现形式为foreach(类型 变量名 in 集合 ){};