C#-C#中的集合
数组
数组是序列化排列的对象列表,与灵活的List不同,定义数组必须设定长度,并且不能更改。
作为最基本的集合类型,数组有几个特别的类函数。数组还能用[ ]加数字增加和读取对象。
stringArray[0]="Hello";
stringArray[1]="World";
print(stringArray[0]+" "+stringArray[1]);//输出Hello World
List
List是更为灵活的数组,但是性能略慢。并且与数组一样可以用[ ]和数字读取。
应该用数组还是List:
List具有可变长度,而数组的长度不太容易改变
数组速度稍快,但在多数情况下感觉不出来
数组允许有多维下标
数组允许在集合中存在空元素
new List<T>()——声明一个新List类型T
Add(X)——将一个类型为T的对象X加入List末端
Clear()——清空List中所有的对象
Contains(X)——如果类型T的对象X在List中,则返回true
Count——属性,返回List中对象的数量
IndexOf(X)——返回对象X在List中的序号。如果对象X不存在,则返回-1
Remove(X)——从List中一处对象X
RemoveAt(#)——移除序号为#的对象
字典Dictionary
字典可以关联key和值,对象根据特定的key存储。字典声明两个类型(key类型和值类型)。
值可以用方括号增加或读取
new Dictionary<Tkey,Tvalue>()——声明一个有key的值和字典
Add(TKey,TValue)——对象TValue以TKey加入字典
Clear()——移除所有对象
ContainsKey(TKey)——如果TKey在字典中,则返回true
ContainsKValue(TValue)——如果TValue在字典中,则返回true
Count——返回字典中key和value有几对
Remove(TKey)——移除字典中TKey对应的值
队列Queue
作为先入先出(FIFO)的集合。对象用Enqueue()加入队列末尾,用Dequeque()从开头移除
Clear()——一处队列中所有的对象
Contains(X)——如果X在队列中则返回true
Count——返回队列中有多少个对象
Dequeue()——移除并返回队列的首个对象
Enqueue(X)——把对象X加入到队列末端
Peek()——返回队列中首个对象,但不移除它
堆栈Stack
一个先入后出(FILO)的集合,堆栈类似一叠牌。对象用Push()加入堆栈的顶端,用Pop()从顶端移除。
Clear()——移除堆栈中所有对象
Contains(X)——如果X在堆栈中,则返回true
Count——返回堆栈中的对象数
Peek() ——返回堆栈中的首个对象,但不移除它
Pop()——返回并移除堆栈中的首个对象
Push(X)——将对象X加入堆栈首部