C#的6种常用集合类大比拼

2015/05/12 23:02
阅读数 26

一.先来说说数组的不足(也可以说集合与数组的区别): 
1.数组是固定大小的,不能伸缩虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化随后以前的数组就废弃!而集合却是可变长的 
2.数组要声明元素的类型,集合类的元素类型却是object. 
3.数组可读可写不能声明只读数组集合类可以提供ReadOnly方法以只读方式使用集合 
4.数组要有整数下标才能访问特定的元素,然而很多时候这样的下标并不是很有用集合也是数据列表却不使用下标访问很多时候集合有定制的下标类型,对于队列和栈根本就不支持下标访问! 
二.下面讲述6种常用集合 
1.ArrayList类 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
2.Stack类 
栈,后进先出push方法入栈,pop方法出栈 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
3.Queue类 
队列,先进先出enqueue方法入队列,dequeue方法出队列 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
4.Hashtable类 
哈希表,名-值对类似于字典(比数组更强大)哈希表是经过优化的,访问下标的对象先散列过如果以任意类型键值访问其中元素会快于其他集合GetHashCode()方法返回一个int型数据,使用这个键的值生成该int型数据哈希表获取这个值最后返回一个索引,表示带有给定散列的数据项在字典中存储的位置 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
5.SortedList类 
与哈希表类似,区别在于SortedList中的Key数组排好序的 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
6.NameValueCollection类 
官方给NameValueCollection定义为特殊集合一类,在System.Collections.Specialized下 
System.Collections.Specialized下还有HybridDicionary类,建议少于10个元素用HybridDicionary,当元素增加会自动转为HashTable 
System.Collections.Specialized下还有HybridDicionary类,字符串集合 
System.Collections.Specialized下还有其他类大家可以各取所需! 
言归正转主要说NameValueCollection,HashTable  和  NameValueCollection很类似但是他们还是有区别的,HashTable  的KEY是唯一性,而NameValueCollection则不唯一! 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
C的6种常用集合类大比拼 - Smile宅男 - Smile宅男 
----------------------------
一键转贴,快速捕捉生活精彩,赢每周好礼!查看活动首页>>

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部