Java集合排序及java集合類詳解(Collection、List、Map、Set).doc

Java集合排序及java集合類詳解(Collection、List、Map、Set).doc

ID:50250164

大?。?46.00 KB

頁數(shù):41頁

時間:2020-03-07

Java集合排序及java集合類詳解(Collection、List、Map、Set).doc_第1頁
Java集合排序及java集合類詳解(Collection、List、Map、Set).doc_第2頁
Java集合排序及java集合類詳解(Collection、List、Map、Set).doc_第3頁
Java集合排序及java集合類詳解(Collection、List、Map、Set).doc_第4頁
Java集合排序及java集合類詳解(Collection、List、Map、Set).doc_第5頁
資源描述:

《Java集合排序及java集合類詳解(Collection、List、Map、Set).doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、Java集合排序及java集合類詳解(Collection,List,Set,Map)摘要內(nèi)容Java里面最重要,最常用也就是集合一部分了。能夠用好集合和理解好集合對于做Java程序的開發(fā)擁有無比的好處。本文詳細(xì)解釋了關(guān)于Java中的集合是如何實現(xiàn)的,以及他們的實現(xiàn)原理。關(guān)鍵字:Collection,List,Set,Map,集合,框架。目錄1???????集合框架21.1???????集合框架概述21.1.1???????容器簡介21.1.2???????容器的分類51.2???????Collection61.2.1???????常用方法61.2.2???????迭代器91.3????

2、???List111.3.1???????概述111.3.2???????常用方法121.3.3???????實現(xiàn)原理171.4???????Map201.4.1???????概述201.4.2???????常用方法211.4.3???????Comparable接口271.4.4???????實現(xiàn)原理291.4.5???????覆寫hashCode()341.5???????Set391.5.1???????概述391.5.2???????常用方法391.5.3???????實現(xiàn)原理451.6???????總結(jié):集合框架中常用類比較462???????練習(xí)473???????附錄:排序4

3、8青菜制作qq:8339511012/7/20095:17PM1???????集合框架1.1???????集合框架概述1.1.1???????容器簡介到目前為止,我們已經(jīng)學(xué)習(xí)了如何創(chuàng)建多個不同的對象,定義了這些對象以后,我們就可以利用它們來做一些有意義的事情。舉例來說,假設(shè)要存儲許多雇員,不同的雇員的區(qū)別僅在于雇員的身份證號。我們可以通過身份證號來順序存儲每個雇員,但是在內(nèi)存中實現(xiàn)呢?是不是要準(zhǔn)備足夠的內(nèi)存來存儲1000個雇員,然后再將這些雇員逐一插入?如果已經(jīng)插入了500條記錄,這時需要插入一個身份證號較低的新雇員,該怎么辦呢?是在內(nèi)存中將500條記錄全部下移后,再從開頭插入新的記錄?還

4、是創(chuàng)建一個映射來記住每個對象的位置?當(dāng)決定如何存儲對象的集合時,必須考慮如下問題。對于對象集合,必須執(zhí)行的操作主要以下三種:u??????添加新的對象u??????刪除對象u??????查找對象我們必須確定如何將新的對象添加到集合中。可以將對象添加到集合的末尾、開頭或者中間的某個邏輯位置。從集合中刪除一個對象后,對象集合中現(xiàn)有對象會有什么影響呢?可能必須將內(nèi)存移來移去,或者就在現(xiàn)有對象所駐留的內(nèi)存位置下一個“洞”。在內(nèi)存中建立對象集合后,必須確定如何定位特定對象??山⒁环N機(jī)制,利用該機(jī)制可根據(jù)某些搜索條件(例如身份證號)直接定位到目標(biāo)對象;否則,便需要遍歷集合中的每個對象,直到找到要查找

5、的對象為止。前面大家已經(jīng)學(xué)習(xí)過了數(shù)組。數(shù)組的作用是可以存取一組數(shù)據(jù)。但是它卻存在一些缺點,使得無法使用它來比較方便快捷的完成上述應(yīng)用場景的要求。1.????????青菜制作qq:8339511012/7/20095:17PM首先,在很多數(shù)情況下面,我們需要能夠存儲一組數(shù)據(jù)的容器,這一點雖然數(shù)組可以實現(xiàn),但是如果我們需要存儲的數(shù)據(jù)的個數(shù)多少并不確定。比如說:我們需要在容器里面存儲某個應(yīng)用系統(tǒng)的當(dāng)前的所有的在線用戶信息,而當(dāng)前的在線用戶信息是時刻都可能在變化的。也就是說,我們需要一種存儲數(shù)據(jù)的容器,它能夠自動的改變這個容器的所能存放的數(shù)據(jù)數(shù)量的大小。這一點上,如果使用數(shù)組來存儲的話,就顯得十分

6、的笨拙。2.????????我們再假設(shè)這樣一種場景:假定一個購物網(wǎng)站,經(jīng)過一段時間的運(yùn)行,我們已經(jīng)存儲了一系列的購物清單了,購物清單中有商品信息。如果我們想要知道這段時間里面有多少種商品被銷售出去了。那么我們就需要一個容器能夠自動的過濾掉購物清單中的關(guān)于商品的重復(fù)信息。如果使用數(shù)組,這也是很難實現(xiàn)的。3.????????最后再想想,我們經(jīng)常會遇到這種情況,我知道某個人的帳號名稱,希望能夠進(jìn)一步了解這個人的其他的一些信息。也就是說,我們在一個地方存放一些用戶信息,我們希望能夠通過用戶的帳號來查找到對應(yīng)的該用戶的其他的一些信息。再舉個查字典例子:假設(shè)我們希望使用一個容器來存放單詞以及對于這個單

7、詞的解釋,而當(dāng)我們想要查找某個單詞的意思的時候,能夠根據(jù)提供的單詞在這個容器中找到對應(yīng)的單詞的解釋。如果使用數(shù)組來實現(xiàn)的話,就更加的困難了。為解決這些問題,Java里面就設(shè)計了容器集合,不同的容器集合以不同的格式保存對象。數(shù)學(xué)背景在常見用法中,集合(collection)和數(shù)學(xué)上直觀的集(set)的概念是相同的。集是一個唯一項組,也就是說組中沒有重復(fù)項。實際上,“集合框架”包含了一個Set接口和許多具體的Set類。但正式

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。