C# 有哪些集合

队列【Queue】

//队列:先进先出
/*
 *增加元素到队列结尾处
 *移除队列开始处
 */
Queue queue=new Queue();
queue.Enqueue(Object);
queue.Dequeue();

堆栈【stack】

//堆栈:先进后出
/*增加元素到堆栈顶部
 *移除堆栈顶部元素
 */
Stack stack=new Stack();
stack.Push(Object);
stack.Pop();//获取并移除顶部对象
stack.Peek();//获取不移除顶部对象

键值对:Dictionary,HashTable(Dic 自定义类型,HashTable 装Object),Hashmap(java键值对集合)。

【Dictionary】

Dictionary<int,int> dictionary=new Dictionary<int,int>();

【HashTable】

HashTable hashtable=new HashTable();
hashtable.Add(Object,Object);

集合与数组:Array,ArrayList,Collection,List,HashSet,SortSet,SortedList,SortedDictionary,LinkedList

【Array】 固定大小数组   new Array[2];

【ArrayList】 可变大小数组  new ArrayList();

【Collection】集合(实体) new Collection<T>();

【List】泛型集合,拥有很多扩展方法  new List<T>();

【HashSet】非重复集合  new HashSet<T>();

【SortSet】有顺序集合   new SortSet<T>();

【SortedList】有序键值对集合:插入删除慢,内存小,适用已排序的键值对集合转换  new SortedList<key,value>();

【SortedDictionary】有序键值对集合:插入删除快,内存大,使用对键值对频繁操作  new SortedDictionary<key,value>();

【LinkedList】双向链表  new LinkedList<T>();

posted @ 2019-01-04 16:30  木狼  阅读(1771)  评论(0编辑  收藏  举报