乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      System.Collections中各類的區(qū)別

       貧窮的小悍馬 2011-09-15
      .集合
          ((I)).集合類型    
              1.一般集合
                      I.Array
                              a.Array中的秩是Array中的維數(shù).一個Array可以有一個或多個秩.
                                  Array具有固定的容量.如果有可變?nèi)萘?則用Array.CreateInstance,其可以不從零開始存儲.
                      II.ArrayList集合類型
                              a.是數(shù)組的復(fù)雜版本.Array是數(shù)組是固定的,而ArrayList類是根據(jù)需要自動擴(kuò)展的.如果更改了Array.Capacity屬性的值,則自動進(jìn)行內(nèi)存重新分配和元素復(fù)制.
                              b.ArrayList提供添加/或移除某一范圍元素的方法.在Array中,只能一次獲取或設(shè)置一個元素的值.
                              c.使用   Synchronized方法可以很容易地創(chuàng)建ArrayList的同步版本.而Array將一直保持它,直到用戶實(shí)現(xiàn)同步為止.
                              d.ArrayList提供將只讀和固定大小包裝返回到集合的方法.而Array不提供.
                              e.Array提供ArrayList所不具有的某些靈活性.
                                      I.可以設(shè)置Array的下限,但ArrayList的下限始終為零.
                                      II.Array可以具有多個維度,而ArrayList始終是唯一的.
                                      III.Array是特定類型(不是Object),比ArrayList性能好.ArrayList在存儲和檢索時經(jīng)常發(fā)生拆箱和裝箱操作現(xiàn)象.                                      
                      III.哈希表集合
                              a.Hashtable類基于IDictionary接口,因此該集合中的每一元素是鍵和值對.
                              b.Object.GetHashCode方法為其自身生成哈希代碼.還可以通過使用Hashtable構(gòu)造函數(shù),為所有元素指定一個哈希函數(shù).
                      IV.SortedList集合類型
                              a.SortedList類類似于Hashtable和ArrayList間的混合.
                              b.SortedList的每一元素都是鍵對值,提供只返回鍵列表或只返回值列表的方法.
                              c.如果想要一個保留鍵和值的集合,并且還需要索引的靈活性,則使用SortList.
                      V.隊列集合類型  
                              a.如果需要以信息在集合中存儲的相同順序來訪問這些信息,請使用Queue.
                              b.Enqueue將一個元素添加到Queue的隊尾.   Dequeue從Queue處移除最舊的元素.   Peek從Queue的開始處返回最舊的元素,但不將從Queue中移除.
                      VI.堆棧集合類型
                              a.如果需要以信息在集合中存儲的相反順序來訪問這些信息,請使用Queue.
                              b.Push在Stack的頂部插入一個元素.   Pop在Stack的頂部移除一個元素.   Peek返回處于Stack頂部的元素,但不將其從棧頂上移除.
                2.位集合
                      I.BitArray
                            a.BitArray是一個集合類,容量與計數(shù)相同.通過增加Length屬性來將元素添加到BitArray中;通過降低Length屬性將元素刪除.
                            b.獨(dú)特方法,如   And/Or/Xor/Not/SetAll.
                            c.位于   System.Collections中.
                      II.BitVector32
                            a.速度快,精確存儲32位,并且同時存儲標(biāo)志位和小整數(shù).
                            b.位于   System.Collections.Specialized中.  
                3.專用集合  
                      I.NameValueCollection
                            a.基于NameObjectCollectionBase,但NameValueCollection可以接受每個鍵多個值,而   NameObjectCollectionBase接受每個鍵,但只有一個值.      
            ((2)).選擇用哪種集合  
                ***   Queue或Stack:需要一個序列列表,其中的元素在檢索后放棄.否則,用其它集合.
                ***   Queue或Stack:按一定的順序訪問這些元素(先進(jìn)先出,后進(jìn)先出),如果隨機(jī),用其它集合.
                ***   是否通過索引訪問每一個元素?
                        *   ArrayList和StringCollection   提供通過元素的從零開始的*索引*對其元素進(jìn)行訪問.
                        *   (Hashtable)   (SortedList)   (ListDictionary)   (StringDictionary)   提供通過元素的*鍵*對其元素進(jìn)行訪問
                        *   (NameObjectCollectionBase)   和   (NameValueCollection)   提供或者通過元素的從零開始的*索引*或者通過元素的*鍵*對其元素進(jìn)行訪問.
                ***   每一元素將包含一個值/一個值和一個鍵的組合還是一個鍵和多個值的組合?
                        *   一個值:   使用基于   IList   的任何集合
                        *   一個鍵和一個值:   使用基于   IDictionary   的任何集合.
                        *   一個鍵和多個值:   使用   System.Collections.Specialized   命名空間中的   NameValueCollection   類.
                ***   是否需要用與元素方式不同的方式對元素排序?
                        *   Hashtable   通過鍵的哈希代碼對元素進(jìn)行排序.
                        *   SortedList   基于   IComparer   實(shí)現(xiàn),通過鍵對元素進(jìn)行排序.
                        *   ArrayList   提供   Sort方法該方法將   IComparer   實(shí)現(xiàn)作為一個參數(shù)采用.
                ***   是否需要信息的快速搜索和檢索?
                        *   對于小集合(十項(xiàng)或更少),ListDictionary   快于   Hashtable.
                ***   是否需要只接受字符串的集合?
                        *   StringCollection   (基于   IList)   和   StringDictionary   (基于   IDictionary)   位于   System.Collections.Specialized   命名空間中.

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多