Java實用程序設(shè)計(西電版)第5章容器類

上傳人:wux****ua 文檔編號:21926081 上傳時間:2021-05-15 格式:PPT 頁數(shù):52 大小:2.37MB
收藏 版權(quán)申訴 舉報 下載
Java實用程序設(shè)計(西電版)第5章容器類_第1頁
第1頁 / 共52頁
Java實用程序設(shè)計(西電版)第5章容器類_第2頁
第2頁 / 共52頁
Java實用程序設(shè)計(西電版)第5章容器類_第3頁
第3頁 / 共52頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《Java實用程序設(shè)計(西電版)第5章容器類》由會員分享,可在線閱讀,更多相關(guān)《Java實用程序設(shè)計(西電版)第5章容器類(52頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、1 第 5 章 容 器 類第 5 章 容 器 類5.1 容器的概念與相互關(guān)系5.2 Set接口及其實現(xiàn)5.3 List接口及其實現(xiàn)5.4 Queue接口及其實現(xiàn)5.5 Map接口及其實現(xiàn)5.6 迭代器5.7 容器類的高級話題 2 第 5 章 容 器 類 5.1 容 器 的 概 念 與 相 互 關(guān) 系Java容器類的對象實例又稱為容器,容器用于保存對象。根據(jù)所存儲的元素的形式,可將容器按照接口不同劃分為兩大類:(1) Collection:一個由一系列元素組成的序列,其中的元素是指向其他對象的引用。 (2) Map:一個由一系列“鍵值對”組成的序列,允許通過鍵查找值。 3 第 5 章 容 器 類

2、 圖5-1 容器層次的簡要結(jié)構(gòu) 4 第 5 章 容 器 類 5 第 5 章 容 器 類 6 第 5 章 容 器 類 7 第 5 章 容 器 類 5.2 Set接 口 及 其 實 現(xiàn)Set不接受重復(fù)的元素。Java SE中提供3種Set容器的實現(xiàn):HashSet、TreeSet和LinkedHashSet。HashSet類采用Hash表實現(xiàn)Set接口,它的查詢速度最快,但其中的元素沒有固定順序;TreeSet類采用紅黑樹結(jié)構(gòu)實現(xiàn)了SortedSet接口,能夠保證元素處于排序狀態(tài);LinkedHashSet類采用Hash表與鏈表結(jié)合的方式實現(xiàn)Set接口,它能夠以插入順序保存元素。 8 第 5 章

3、容 器 類 9 第 5 章 容 器 類 10 第 5 章 容 器 類 11 第 5 章 容 器 類 12 第 5 章 容 器 類 5.3 List接 口 及 其 實 現(xiàn)與數(shù)組類似地,List也可以建立數(shù)字索引與具體對象的關(guān)聯(lián),區(qū)別在于List可以自動擴充容量。Java SE中有兩種類型的List:ArrayList和LinkedList。 13 第 5 章 容 器 類 14 第 5 章 容 器 類 15 第 5 章 容 器 類 16 第 5 章 容 器 類 17 第 5 章 容 器 類 18 第 5 章 容 器 類 19 第 5 章 容 器 類 5.4 Queue接 口 及 其 實 現(xiàn)Queu

4、e是一種先進先出(FIFO)的容器。程序從Queue的一端放入對象,從另一端取出對象,對象進入和取出的順序是相同的。在Java SE中,LinkedList實現(xiàn)了Queue接口,因此LinkedList可以用作Queue的一種實現(xiàn)。 20 第 5 章 容 器 類 21 第 5 章 容 器 類 22 第 5 章 容 器 類 23 第 5 章 容 器 類 24 第 5 章 容 器 類 25 第 5 章 容 器 類 5.5 Map接 口 及 其 實 現(xiàn)Map是一系列“鍵-值”之間的映射關(guān)系,是一種將對象(而非數(shù)字)與對象相關(guān)聯(lián)的設(shè)計。在很多情況下,這一設(shè)計都能夠有效地解決問題,例如,當(dāng)我們需要統(tǒng)計一

5、篇論文中的各個英文單詞的個數(shù)時,可創(chuàng)建一個由String映射到Integer的Map。Map的值可以是復(fù)雜的結(jié)構(gòu),例如,當(dāng)希望將一個科學(xué)家與其發(fā)表的論文列表建立映射時,可以建立一個MapScientist,List。 26 第 5 章 容 器 類 27 第 5 章 容 器 類 28 第 5 章 容 器 類 29 第 5 章 容 器 類 30 第 5 章 容 器 類 5.6 迭 代 器List容器可以通過索引對其中的元素進行訪問,Queue可以通過具體方法對隊首的元素進行訪問。對于不同類型的容器,遍歷和操作的方式是不同的。但是在有些時候,需要應(yīng)對這樣的情況,對于不同類型的容器,我們希望能夠通過同

6、樣的方式執(zhí)行訪問,這樣就不需要根據(jù)不同的容器類型進行不同的編碼。容器的迭代器(Iterator)針對這一需求給出了解決方法。 31 第 5 章 容 器 類迭代器具有如下特征:(1) 迭代器只能單向移動;(2) 使用容器的iterator()方法返回容器的迭代器,迭代器準備返回容器的第一個元素;(3) 使用next()方法獲得序列的下一個元素;(4) 使用hasNext()方法檢查序列中是否還有元素;(5) 使用remove()將迭代器新近返回的元素(即由next()產(chǎn)生的最后一個元素)刪除,因此在調(diào)用remove()之前必須先調(diào)用next()。 32 第 5 章 容 器 類 33 第 5 章

7、容 器 類 34 第 5 章 容 器 類ListIterator是Iterator的子類型,它只能用于各類List容器的訪問。通過List接口的listIterator方法能夠返回用于List容器的ListIterator。與一般迭代器相比,ListIterator的功能更全面,除了具有Iterator接口所規(guī)定的行為特征以外,它還具有如下特征:(1) 使用hasPrevious()方法檢查序列中是否有前一個元素;(2) 使用nextIndex()方法返回下一次next()方法調(diào)用將要返回的元素的索引;(3) 使用previous()方法返回序列中的前一個元素; 35 第 5 章 容 器 類(

8、4) 使用previousIndex()方法返回下一次previous()方法調(diào)用將要返回的元素的索引;(5) 使用set()方法將上一次next()調(diào)用或previous()調(diào)用所返回的元素替換為參數(shù)所指定的元素;(6) 使用add()方法向序列中下一個next()被訪問元素之前(亦即下一個previous()被訪問元素之后)加入指定的元素。加入元素后,隱含指針在新加入元素之后,即調(diào)用next()的返回結(jié)果不變,而調(diào)用previous()的返回結(jié)果是新加入的元素。 36 第 5 章 容 器 類 37 第 5 章 容 器 類 38 第 5 章 容 器 類 39 第 5 章 容 器 類 40 第

9、 5 章 容 器 類 5.7 容 器 類 的 高 級 話 題 1. Comparable接 口Comparable接口為實現(xiàn)這個接口的類的每一個對象提供了一種全序關(guān)系,即如果一個類實現(xiàn)了Comparable接口,那么這個類的任意兩個對象就可以比較大小。這樣的一種全序關(guān)系又稱為這個類的自然順序。實際上,Comparable接口中只有一個compareTo()方法的聲明。這個類中對compareTo()方法的實現(xiàn)就是自然順序的比較方法。 41 第 5 章 容 器 類對compareTo()方法的具體實現(xiàn)應(yīng)注意以下方面: (1) 如果當(dāng)前對象小于參數(shù)對象,則返回負數(shù);如果當(dāng)前對象等于參數(shù)對象,則返回

10、0;如果當(dāng)前對象大于參數(shù)對象,則返回正數(shù)。(2) 對compareTo()的實現(xiàn)必須保證pareTo(y)的符號與pareTo(x)的符號相反,且pareTo(y)拋出異常,當(dāng)且僅當(dāng)pareTo(x)拋出異常。 42 第 5 章 容 器 類(3) 自然順序關(guān)系的傳遞性應(yīng)得到保證,即(pareTo(y)0 & & pareTo(z)0)蘊含pareTo(z)0。(4) 實現(xiàn)必須保證pareTo(y)=0能夠蘊含對于任意z,pareTo(z)的符號與pareTo(z)的符號相同。 43 第 5 章 容 器 類 44 第 5 章 容 器 類 45 第 5 章 容 器 類 46 第 5 章 容 器 類 47 第 5 章 容 器 類2. EnumSet與 EnumMapEnumSet中的元素必須來自某個枚舉類型,當(dāng)創(chuàng)建EnumSet時,必須指定這個枚舉類型。EnumSet的內(nèi)部是由位向量表示的,以保證其高效性。EnumSet除了包含從Set接口繼承的方法之外,還包含一些特有的接口方法,見表5-5。 48 第 5 章 容 器 類 49 第 5 章 容 器 類 50 第 5 章 容 器 類 51 第 5 章 容 器 類 52 第 5 章 容 器 類

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!