版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第17章 集合和數(shù)據(jù)結(jié)構(gòu)集合和數(shù)據(jù)結(jié)構(gòu)的基本概念A(yù)rrayList的基本操作List的基本操作Hashtable集合類型的基本操作Dictionary集合類型的基本操作SortedList集合類型的基本操作SortedList集合類型的基本操作SortedDictionary集合類型的基本操作Queue集合類型的基本操作Stack集合類型的基本操作HashSet集合類型的基本操作BitArray集合類型的基本操作BitVector32集合類型的基本操作NameValueCollection集合類型的基本操作StringDictionary集合類型的基本操作StringCollection集合類
2、型的基本操作C#集合和數(shù)據(jù)結(jié)構(gòu)概述 圖17-1 System.Collections 命名空間的繼承關(guān)系 圖17-2 System.Collections.Generic命名空間的繼承關(guān)系 圖17-3 System.Collections.Specialized命名空間的繼承關(guān)系17.2 列表類集合類型 列表類集合類型基于 IList 接口,集合中的每個(gè)元素都只包含一個(gè)值。列表類集合類型包括: Array (請(qǐng)參考本書(shū)5.1.5) ArrayList集合類型 List集合類型17.2.1 ArrayList ArrayList或List用于構(gòu)建復(fù)雜的數(shù)組或列表集合。相對(duì)于Array的容量固定性
3、,ArrayList或List的容量可根據(jù)需要自動(dòng)擴(kuò)充。ArrayList或List還提供添加、插入或移除某一范圍元素的方法 表17-1 ArrayList類的主要成員 【例例17.1】使用ArrayList類操作數(shù)組列表17.2.2 List List表示可通過(guò)索引訪問(wèn)的對(duì)象的強(qiáng)類型列表,提供用于對(duì)列表進(jìn)行搜索、排序和操作的方法。 List類是對(duì)應(yīng)于 ArrayList 的泛型類。該類使用大小可按需動(dòng)態(tài)增加的數(shù)組實(shí)現(xiàn) IList泛型接口 表17-2 List泛型類的主要成員 【例例17.2】使用List泛型類操作列表17.3 字典類集合類型 字典類集合類型基于IDictionary / ID
4、ictionary 接口,集合中的每個(gè)元素都包含鍵/值對(duì)。字典類集合類型包括: Hashtable集合類型 Dictionary 集合類型 SortedList集合類型 SortedList集合類型 SortedDictionary 集合類型17.3.1 Hashtable Hashtable表示鍵/值(key/value)對(duì)的集合,這些鍵/值對(duì)根據(jù)鍵的哈希代碼進(jìn)行組織 Hashtable中key和value鍵值均為object類型 Hashtable集合中每個(gè)鍵(key)必須是唯一的,并且添加后,鍵(key)就不能更改。鍵(key)不能為 null 引用,但值(value)可以 表17-3
5、Hashtable類的主要成員 【例例17.3】使用Hashtable類操作數(shù)據(jù)集合17.3.2 Dictionary Dictionary泛型類表示鍵/值(key/value)對(duì)的集合。其中,TKey表示字典中的鍵的類型,TValue表示字典中的值的類型 Dictionary泛型類提供了從一組鍵到一組值的映射 Dictionary集合中的每個(gè)元素都是一個(gè)KeyValuePair結(jié)構(gòu),由一個(gè)值及其相關(guān)聯(lián)的鍵組成 表17-4 Dictionary泛型類的主要成員 【例例17.4】使用Dictionary泛型類操作數(shù)據(jù)集合17.3.3 SortedList SortedList表示鍵/值(key/
6、value)對(duì)的集合 SortedList是泛型類,TKey表示字典中的鍵的類型,TValue表示字典中的值的類型 SortedList集合中的每個(gè)元素都是一個(gè)可作為 DictionaryEntry 對(duì)象進(jìn)行訪問(wèn)的鍵/值對(duì) SortedList集合中每個(gè)鍵(key)必須是唯一的。鍵不能為 null 引用,但值可以 表17-5 SortedList類的主要成員 【例例17.5】使用SortedList類操作列表17.3.4 SortedList SortedList泛型類表示鍵/值(key/value)對(duì)的集合,以基于鍵的排序順序維護(hù)元素,并可按照鍵和索引訪問(wèn)。其中,TKey表示字典中的鍵的類型
7、,TValue表示字典中的值的類型 SortedList泛型類提供了從一組鍵到一組值的映射。SortedList集合中的每個(gè)元素都是一個(gè)KeyValuePair結(jié)構(gòu),由一個(gè)值及其相關(guān)聯(lián)的鍵組成。通過(guò)鍵可以快速檢索值。SortedList中的每個(gè)鍵必須是唯一的。鍵(key)不能為空,但值(value)可以 表17-6 SortedList泛型類的主要成員 【例例17.6】使用SortedList類操作列表17.3.5 SortedDictionarySortedDictionary泛型類表示鍵/值(key/value)對(duì)的集合,以基于鍵的排序順序維護(hù)元素。其中,TKey表示字典中的鍵的類型,TV
8、alue表示字典中的值的類型SortedDictionary泛型類提供了從一組鍵到一組值的映射。SortedDictionary集合中的每個(gè)元素都是一個(gè)KeyValuePair結(jié)構(gòu),由一個(gè)值及其相關(guān)聯(lián)的鍵組成。通過(guò)鍵可以快速檢索值。SortedDictionary 中的每個(gè)鍵必須是唯一的。鍵(key)不能為空,但值(value)可以表17-7 SortedDictionary泛型類的主要成員【例例17.7】使用SortedDictionary泛型類操作數(shù)據(jù)集合17.4 隊(duì)列集合類型 Queue類表示對(duì)象的先進(jìn)先出(FIFO,F(xiàn)irst In First Out)集合。存儲(chǔ)在 Queue 中的對(duì)
9、象在一端(Queue 的結(jié)尾處)插入,從另一端(Queue的開(kāi)始處)移除 表17-8 Queue類的主要成員 【例例17.8】使用Queue類操作數(shù)據(jù)集合 圖17-4 隊(duì)列(先進(jìn)先出)操作示意圖17.5 堆棧集合類型 Stack類表示對(duì)象的簡(jiǎn)單的后進(jìn)先出(LIFO,Last In First Out)非泛型集合。Stack采用循環(huán)緩沖區(qū)方式實(shí)現(xiàn)對(duì)象的增刪 表17-9 Stack類的主要成員 【例例17.9】使用Stack類操作數(shù)據(jù)集合 圖17-5 堆棧(后進(jìn)先出)操作示意圖17.6 HashSet集合類型 HashSet泛型類是set 集合,HashSet泛型類實(shí)現(xiàn) ICollection 接
10、口和 ICollection泛型接口。集是一組不重復(fù)出現(xiàn)且無(wú)特定順序的元素 HashSet泛型類是set 集合,HashSet泛型類實(shí)現(xiàn) ICollection 接口和 ICollection泛型接口。集是一組不重復(fù)出現(xiàn)且無(wú)特定順序的元素 表17-10 HashSet泛型類的主要成員 【例例17.10】使用HashSet泛型類操作數(shù)據(jù)集合17.7 位集合 位集合是其元素為位標(biāo)志的集合,其元素都是一位,而不是一個(gè)對(duì)象 位集合類型包括BitArray 類和 BitVector32結(jié)構(gòu)17.7.1 BitArray BitArray集合類是管理位值的壓縮數(shù)組,其容量可通過(guò)Length 屬性來(lái)控制。使
11、用一個(gè)整數(shù)索引訪問(wèn)此集合中的元素。此集合中的索引從零開(kāi)始 表17-11 BitArray類的主要成員 【例例17.11】使用BitArray類操作數(shù)據(jù)集合17.7.2 BitVector32 BitVector32 類提供的功能與 BitArray 基本相同,但性能更高。BitVector32 的性能之所以較高是因?yàn)樗侵殿愋?,所以在堆棧上分配;?BitArray 是引用類型,所以在堆上分配 表17-12 BitVector32類的主要成員 【例例17.12】使用BitVector32類操作數(shù)據(jù)集合17.8 專用集合 專用集合描述諸如 NameValueCollection、StringDi
12、ctionary 和 StringCollection 等特殊用途的集合 NameValueCollection 基于 NameObjectCollectionBase;但 NameValueCollection 接受一鍵多值,而 NameObjectCollectionBase 只接受一鍵一值。 StringDictionary和StringCollection是System.Collections.Specialized 命名空間中的強(qiáng)類型集合,兩者均包含完全是字符串的值17.8.1 NameValueCollection NameValueCollection類表示可通過(guò)鍵或索引訪問(wèn)的關(guān)
13、聯(lián) String 鍵和 String 值的集合。NameValueCollection類每個(gè)元素都是一個(gè)鍵/值對(duì),可用于標(biāo)頭、查詢字符串和窗體數(shù)據(jù) 表17-13 NameValueCollection類的主要成員 【例例17.13】使用NameValueCollection類操作數(shù)據(jù)集合17.8.2 StringDictionary StringDictionary類將鍵和值強(qiáng)類型化為字符串而不是對(duì)象來(lái)實(shí)現(xiàn)哈希表。鍵不能是 null 引用,但值可以。鍵的處理方式是不區(qū)分大小寫(xiě)的;將鍵用于字符串字典之前會(huì)將其轉(zhuǎn)換成小寫(xiě) 表17-14 StringDictionary類的主要成員 【例例17.14】使用StringDictionary類操作數(shù)據(jù)集合17.8.3 StringCollection StringCollection類表示字符串集合。StringColle
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)中醫(yī)器械行業(yè)市場(chǎng)深度調(diào)研及發(fā)展趨勢(shì)與投資前景研究報(bào)告
- 2024-2030年中國(guó)丙二醇甲醚醋酸酯行業(yè)運(yùn)行動(dòng)態(tài)及應(yīng)用前景預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)不飽和樹(shù)脂市場(chǎng)發(fā)展戰(zhàn)略探討與項(xiàng)目投資機(jī)遇研究研究報(bào)告
- 2024-2030年中國(guó)下一代包裝行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2024-2030年中國(guó)三維加速度計(jì)和顏色傳感器行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 2024-2030年中國(guó)X射線膠片打印機(jī)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2024-2030年中國(guó)PTA市場(chǎng)運(yùn)營(yíng)狀況及發(fā)展規(guī)劃研究報(bào)告
- 2024-2030年中國(guó)PCCP管道行業(yè)競(jìng)爭(zhēng)現(xiàn)狀及應(yīng)用前景預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)OLED材料行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 2024-2030年中國(guó)LED行業(yè)發(fā)展分析及投資風(fēng)險(xiǎn)預(yù)測(cè)研究報(bào)告
- 人體測(cè)量學(xué)課件
- 《少年游擊隊(duì)》繪本(課件)(17) 通用版美術(shù)
- 廠區(qū)高清視頻監(jiān)控解決方案
- 鐵人王進(jìn)喜-大慶精神-鐵人精神課件
- 2023年04月2023年江蘇城鄉(xiāng)建設(shè)職業(yè)學(xué)院招考聘用29人(第一批)筆試參考題庫(kù)附答案解析
- 2023學(xué)年完整公開(kāi)課版Joinin新版六上U6Childrenofourworld(1a1b)
- 腎病綜合征血栓栓塞和治療
- 機(jī)械設(shè)計(jì)評(píng)審表-日本教程
- 小學(xué)六年級(jí)上冊(cè)道德與法治第一單元第2課
- 審計(jì)學(xué)基礎(chǔ)說(shuō)課
- 商貿(mào)企業(yè)儲(chǔ)存場(chǎng)所預(yù)先危險(xiǎn)性分析表
評(píng)論
0/150
提交評(píng)論