java_Set,List,Map,Vector,ArrayList的區(qū)別

java_Set,List,Map,Vector,ArrayList的區(qū)別

ID:35001100

大小:50.50 KB

頁數(shù):12頁

時間:2019-03-15

java_Set,List,Map,Vector,ArrayList的區(qū)別_第1頁
java_Set,List,Map,Vector,ArrayList的區(qū)別_第2頁
java_Set,List,Map,Vector,ArrayList的區(qū)別_第3頁
java_Set,List,Map,Vector,ArrayList的區(qū)別_第4頁
java_Set,List,Map,Vector,ArrayList的區(qū)別_第5頁
資源描述:

《java_Set,List,Map,Vector,ArrayList的區(qū)別》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫

1、-------------各類專業(yè)好文檔,值得你下載,教育,管理,論文,制度,方案手冊,應(yīng)有盡有--------------java_Set,List,Map,Vector,ArrayList的區(qū)別JAVA的容器---List,Map,SetCollection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口  Collection是最基本的集合接口,一個Collec

2、tion代表一組Object,即Collection的元素(Elements)。一些Collection允許相同的元素而另一些不行。一些能排序而另一些不行。JavaSDK不提供直接繼承自Collection的類,JavaSDK提供的類都是繼承自Collection的“子接口”如List和Set?! ∷袑?shí)現(xiàn)Collection接口的類都必須提供兩個標(biāo)準(zhǔn)的構(gòu)造函數(shù):無參數(shù)的構(gòu)造函數(shù)用于創(chuàng)建一個空的Collection,有一個Collection參數(shù)的構(gòu)造函數(shù)用于創(chuàng)建一個新的Collection,這個新的C

3、ollection與傳入的Collection有相同的元素。后一個構(gòu)造函數(shù)允許用戶復(fù)制一個Collection。  如何遍歷Collection中的每一個元素?不論Collection的實(shí)際類型如何,它都支持一個iterator()的方法,該方法返回一個迭代子,使用該迭代子即可逐一訪問Collection中每一個元素。典型的用法如下:    Iteratorit=collection.iterator();//獲得一個迭代子    while(it.hasNext()){      Objectobj=

4、it.next();//得到下一個元素-------------各類專業(yè)好文檔,值得你下載,教育,管理,論文,制度,方案手冊,應(yīng)有盡有---------------------------各類專業(yè)好文檔,值得你下載,教育,管理,論文,制度,方案手冊,應(yīng)有盡有--------------    }  由Collection接口派生的兩個接口是List和Set。List接口  List是有序的Collection,使用此接口能夠精確的控制每個元素插入的位置。用戶能夠使用索引(元素在List中的位置,類似于數(shù)

5、組下標(biāo))來訪問List中的元素,這類似于Java的數(shù)組。和下面要提到的Set不同,List允許有相同的元素?! 〕司哂蠧ollection接口必備的iterator()方法外,List還提供一個listIterator()方法,返回一個ListIterator接口,和標(biāo)準(zhǔn)的Iterator接口相比,ListIterator多了一些add()之類的方法,允許添加,刪除,設(shè)定元素,還能向前或向后遍歷?! ?shí)現(xiàn)List接口的常用類有LinkedList,ArrayList,Vector和Stack。Link

6、edList類  LinkedList實(shí)現(xiàn)了List接口,允許null元素。此外LinkedList提供額外的get,remove,insert方法在LinkedList的首部或尾部。這些操作使LinkedList可被用作堆棧(stack),隊(duì)列(queue)或雙向隊(duì)列(deque)?! ∽⒁釲inkedList沒有同步方法。如果多個線程同時訪問一個List,則必須自己實(shí)現(xiàn)訪問同步。一種解決方法是在創(chuàng)建List時構(gòu)造一個同步的List:    Listlist=Collections.synchroni

7、zedList(newLinkedList(...));ArrayList類  ArrayList實(shí)現(xiàn)了可變大小的數(shù)組。它允許所有元素,包括null。ArrayList沒有同步。size,isEmpty,get,set方法運(yùn)行時間為常數(shù)。但是add方法開銷為分?jǐn)偟某?shù),添加n個元素需要O(n)的時間。其他的方法運(yùn)行時間為線性?! ∶總€ArrayList實(shí)例都有一個容量(Capacity),即用于存儲元素的數(shù)組的大小。這個容量可隨著不斷添加新元素而自動增加,但是增長算法并沒有定義。當(dāng)需要插入大量元素時,在

8、插入前可以調(diào)用ensureCapacity方法來增加ArrayList的容量以提高插入效率?! 『蚅inkedList一樣,ArrayList也是非同步的(unsynchronized)。Vector類-------------各類專業(yè)好文檔,值得你下載,教育,管理,論文,制度,方案手冊,應(yīng)有盡有---------------------------各類專業(yè)好文檔,值得你下載,教育,管理,論文,制度,方案手冊,應(yīng)有盡有-----------

當(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)系客服處理。