一.先來講說數組的不足(也能夠說集合與數組的區別):
1.數組是固定大小的,不能伸縮雖然System.Array.Resize這個泛型方法能夠重置數組大小,可是該方法是從新建立新設置大小的數組,用的是舊數組的元素初始化隨後之前的數組就廢棄!而集合倒是可變長的
2.數組要聲明元素的類型,集合類的元素類型倒是object.
3.數組可讀可寫不能聲明只讀數組集合類能夠提供ReadOnly方法以只讀方式使用集合
4.數組要有整數下標才能訪問特定的元素,然而不少時候這樣的下標並非頗有用集合也是數據列表卻不使用下標訪問不少時候集合有定製的下標類型,對於隊列和棧根本就不支持下標訪問!
二.下面講述6種經常使用集合
1.ArrayList類
2.Stack類
棧,後進先出push方法入棧,pop方法出棧
3.Queue類
隊列,先進先出enqueue方法入隊列,dequeue方法出隊列
4.Hashtable類
哈希表,名-值對相似於字典(比數組更強大)哈希表是通過優化的,訪問下標的對象先散列過若是以任意類型鍵值訪問其中元素會快於其餘集合GetHashCode()方法返回一個int型數據,使用這個鍵的值生成該int型數據哈希表獲取這個值最後返回一個索引,表示帶有給定散列的數據項在字典中存儲的位置
5.SortedList類
與哈希表相似,區別在於SortedList中的Key數組排好序的
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則不惟一!
----------------------------
一鍵轉貼,快速捕捉生活精彩,贏每週好禮!查看活動首頁>>數組