c#-FrameWork01
Framwork
ArrayList
l 集合类似于数组,同样是用来存放连续数据的,但集合的功能比数组更强大
l 集合和数组的最大区别:数组一旦定义以后就无法改变其大小,而集合可以动态的改变其大小.
l 集合的功能:
- 用来存放连续数据,长度可变,可根据需要自动扩展
l ArrayList :删除元素后,索引自动调整
数组的clear删除的是元素的值,整形的为0,字符串为null
l 在集合中所有元素的类型都是object
ArrayList arr=new ArrayList();
arr.Add("");
arr.Clear();//移除所有元素
int i = arr.Count;//获取元素的个数
arr.Insert(2, "");//插入元素
arr.IndexOf("");//查找该元素的索引并返回
arr.Remove("");//移除匹配的第一项
栈
栈是后进先出的集合
Push,进栈,注意顺序
Pop 将顶部对象出栈并返回
Peek查看栈定对象,不出栈
进栈
Stack sk = new Stack();
int[] ints = { 1,2,3,4};
foreach (int i in ints)
{
sk.Push(i); //压栈
}
出栈
Console.WriteLine("出栈并返回栈定元素{0}",sk.Pop());
Console.WriteLine("返回栈定元素不出栈{0}",sk.Peek());
队列
队列:先进先出,就像一个管道
Enqueue,添加,注意和stack顺序区别
Dequeue删除并返回队列开始处的元素
Peek,返回队列开始处的元素,但不删除
HashTable(散列表)
ArrayList 每个元素对应一个索引
Hashtable根据键(key)可以查找相应的值(value),键和值一一对应.即键/值集合
Hashtable 中的元素顺序不是按照添加的顺序,根据键按照一个算法决定这个元素的位置,原因是hashtable要根据key快速检索元素
Add 添加元素,key不能重复,唯一的标识,key不能为空
Remove 移除元素
StringCollection:可替代ArrayList,专门存放字符串
StringDictionary:中的键值只能存放字符串_相当于Hashtable的string版
Sortedlist:有序的Hashtable按照键排序,可以使用索引