使用泛型和集合框架.doc

使用泛型和集合框架.doc

ID:59434325

大?。?95.00 KB

頁數(shù):46頁

時間:2020-05-21

使用泛型和集合框架.doc_第1頁
使用泛型和集合框架.doc_第2頁
使用泛型和集合框架.doc_第3頁
使用泛型和集合框架.doc_第4頁
使用泛型和集合框架.doc_第5頁
資源描述:

《使用泛型和集合框架.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第11章使用泛型和集合框架目標(biāo)當(dāng)完成本章后,你應(yīng)該能夠:?了解集合?了解并使用List接口?了解并使用Set接口?了解并使用Map接口?了解遺留的集合類?通過實(shí)現(xiàn)Comparable和Comparator接口創(chuàng)建自然排序和自定義排序?使用泛型集合?了解泛型類中類型參數(shù)的使用?重構(gòu)已存在的非泛型代碼?編寫對集合進(jìn)行迭代的程序?了解增強(qiáng)型for循環(huán)Collection與Map接口?集合(collection)是個管理一組對象的單一對象。在集合內(nèi)的對象稱之為元素(elements)。通常,集合可以處理很多

2、種類型的對象,這些類型的對象都屬于一個特定的類型(也就是說,它們具有共同的父類型)。?集合API包含了如下將對象組為一體的接口:lCollection——一組稱之為元素的對象;其實(shí)現(xiàn)決定了是否有特定的順序和是否允許有重復(fù)元素。lList——有順序的集合;可允許元素重復(fù)lSet——沒有順序的集合;不允許元素重復(fù)元素的類型?在JavaSE5.0發(fā)布以前,集合維護(hù)對Object類型的對象的引用。這可以使任何對象存放在集合內(nèi)。從集合中獲取對象后,在使用之前必須先正確使用強(qiáng)制類型轉(zhuǎn)換。但是,到了JavaSE5

3、.0平臺和以后版本,可以使用泛型集合功能指定要存放在集合中的對象類型。避免了獲取時做強(qiáng)制類型轉(zhuǎn)換的麻煩。Map接口通用集合實(shí)現(xiàn)列表List?列表List是一個有順序的Collection,允許有重復(fù)元素,主要實(shí)現(xiàn)類包括ArrayList和LinkedList,前者是順序表,后者是鏈表。?程序11-1的示例中,程序聲明了一個被賦予新的ArrayList對象的List類型的變量(list)。然后添加一些元素,將list印到標(biāo)準(zhǔn)輸出。因?yàn)長ist允許有重復(fù)元素,程序11-1的第10行和第11行的add方法

4、返回true。列表List1importjava.util.*;2publicclassArrayListExample{3publicstaticvoidmain(String[]args){4Listlist=newArrayList();5list.add("one");6list.add("second");7list.add("3rd");8list.add(newInteger(4));9list.add(newFloat(5.0F));10list.add("second");//重復(fù)

5、,被添加11list.add(newInteger(4));//重復(fù),被添加12System.out.println(list);13}14}集合Set?程序11-2的示例中,程序聲明了一個已初始化為newHashSet的Set類型的變量(set)。然后添加一些元素,并將set打印到標(biāo)準(zhǔn)輸出中。程序11-2的第10行和第11行嘗試對set添加重復(fù)的值。因?yàn)橹貜?fù)值無法添加到Set,所以add方法返回false。集合Set1importjava.util.*;2publicclassSetExample

6、{3publicstaticvoidmain(String[]args){4Setset=newHashSet();5set.add("one");6set.add("second");7set.add("3rd");8set.add(newInteger(4));9set.add(newFloat(5.0F));10set.add("second");//重復(fù),不被添加11set.add(newInteger(4));//重復(fù),不被添加12System.out.println(set);13}14

7、}映射Map?Map有時稱之為關(guān)聯(lián)數(shù)組。Map對象描述了鍵(key)與值(value)的映射關(guān)系。根據(jù)定義,Map對象不允許重復(fù)鍵或空鍵,一個鍵最多只能對應(yīng)一個值。?Map接口提供使映射內(nèi)容被視為集合的三個方法:entrySet–返回包括所有鍵值對的集合keySet–返回映射所有鍵的集合values–返回包含映射內(nèi)所有值的集合Map?Map接口并沒有繼承Collection接口,因?yàn)樗砹擞成洌菍ο蟮募?。SortedMap接口繼承Map接口。實(shí)現(xiàn)Map接口的一些類有HashMap、TreeM

8、ap、IdentityHashMap和WeakHashMap。這些映射集合實(shí)現(xiàn)的迭代器所表示的順序只針對每個特定的迭代器。映射Map?程序11-3的示例中,程序聲明了一個Map類型的變量map,并賦予它新的HashMap對象。然后通過使用put操作添加一些元素。為了證明map不允許有重復(fù)鍵,程序嘗試使用存在的鍵添加新的值。這將導(dǎo)致以前添加的值被新的值取代。隨后程序使用集合查看操作keySet、values和entrySet獲取map的內(nèi)容。1importjava.ut

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