集合類_補充案例_第1頁
集合類_補充案例_第2頁
集合類_補充案例_第3頁
集合類_補充案例_第4頁
集合類_補充案例_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第七章集合案例7-1Collection接口對集合的操作一、案例描述1、考核知識點編號:00107002名稱:Collection接口2、練習(xí)目標(biāo)掌握Collection接口中方法的使用3、需求分析Collection是所有單列集合的父接口,在Collection中定義了單列集合List和Set通用的一些方法.為了讓初學(xué)者熟悉Collection接口中的常用方法,本案例將演示Collection接口中的方法對集合進(jìn)行操作來學(xué)習(xí)方法的使用.4、設(shè)計思路實現(xiàn)原理1編寫一個類Example012在類中定義兩個Collection集合,并向其中一個集合中添加數(shù)據(jù)3用Collection接口中的方法對定

2、義的兩個集合進(jìn)行各種操作、案例實現(xiàn)import.*;publicclassExample01publicstaticvoidmain(String口args);語句導(dǎo)包,否那么程序?qū)幾g失敗,顯示類找不到.案例7-2List接口的特有方法一、案例描述1、考核知識點編號:00107003名稱:List接口2、練習(xí)目標(biāo)掌握List接口的常用方法的使用3、需求分析List作為Collection集合的子接口,不但繼承了Collection接口中的全部方法,而且還增加了一些根據(jù)元素索引來操作集合的特有方法.為了熟悉List接口中特有方法的使用,本案例將演示使用List接口中的方法對List集合進(jìn)行添

3、加、修改等操作.4、設(shè)計思路實現(xiàn)原理1編寫一個類Example022在類中定義兩個list集合,并向其中一個集合中添加數(shù)據(jù).3)用subList(intfromlndex,inttoIndex)方法獲取集合的一局部4)用set(intindex,Eelement)方法修改一個元素5)用add(intindex,Eelement)方法增加一個元素、案例實現(xiàn)import.*;publicclassExample02publicstaticvoidmain(String口args)Listlist=newArrayList();(abc1);publicclassExample03publicsta

4、ticvoidmain(String口args)ArrayListarray=newArrayList();(lisi);(wangwu);(jordan);(jackson);(white);;第2個元素是:+(1);)運行結(jié)果如圖7-4所示.圖7-1運行結(jié)果三、案例總結(jié)1、在ArrayList內(nèi)部封裝了一個長度可變的數(shù)組對象,當(dāng)存入的元素超過數(shù)組長度時,ArrayList會在內(nèi)存中分配一個更大的數(shù)組來存儲這些元素,因此可以將ArrayList集合看作一個長度可變的數(shù)組.2、索引位置為1的元素是集合中的第二個元素,這就說明集合和數(shù)組一樣,索引的取值范圍是從0開始的,最后一個索引是size-1

5、,在訪問元素時一定要注意索引不可超出此范圍,否那么會拋出角標(biāo)越界異常IndexOutOfBoundsException.3、由于ArrayList集合的底層是使用一個數(shù)組來保存元素,在增加或刪除指定位置的元素時,會導(dǎo)致創(chuàng)立新的數(shù)組,效率比擬低,因此不適合做大量的增刪操作.但這種數(shù)組的結(jié)構(gòu)允許程序通過索引的方式來訪問元素,因此使用ArrayList集合查找元素很便捷.案例7-4LinkedList集合的特殊方法一、案例描述1、考核知識點編號:00107005名稱:LinkedList集合了解LinkedList集合的特點掌握LinkedList集合的特殊方法的使用3、需求分析ArrayList集

6、合在查詢元素時速度很快,但在增刪元素時效率較低,為了克服這種局限性,可以使用List接口的另一個實現(xiàn)類LinkedList.LinkedList集合除了對于元素的增刪操作具有很高的效率,還專門針對元素的增刪操作定義了一些特有的方法.為了熟悉這些特殊的方法,本案例將演示如何使用LinkedList中的特殊方法對集合進(jìn)行增刪操作.4、設(shè)計思路(實現(xiàn)原理)1)編寫一個類Example04,在該類中定義一個LinkedList集合2)分別使用addFirst()和addLast()方法向集合中添加元素3)使用peekFirst()方法獲取集合中的第一個元素4)使用pollFirst()方法獲取并移除集

7、合中的第一個元素5)使用pollLast()方法獲取并移除集合中的最后一個元素6)此時,集合中應(yīng)該沒有元素了,用peekLast()方法獲取集合中的最后一個元素,由于集合為空,應(yīng)該返回NULL、案例實現(xiàn)import.*;publicclassExample04publicstaticvoidmain(String口args)LinkedListlink=newLinkedList();(abc1);publicclassExample05publicstaticvoidmain(String口args)Listlist=newArrayList();(abc1);publicclassExam

8、ple06publicstaticvoidmain(Stringargs);publicclassExample07publicstaticvoidmain(Stringargs)Listlist=newArrayList();(abc1);(abc2);(abc3);(abc4);ListIteratorlit=();while()Objecto=();quals(o)(abc5);Vectorv=newVector();publicclassExample09publicstaticvoidmain(Stringargs);publicclassExample10publicstaticv

9、oidmain(Stringargs);publicclassExample11publicstaticvoidmain(Stringargs)TreeSetts=newTreeSet();publicclassExample13publicstaticvoidmain(Stringargs)4)值林志穎在集合中存在,所以輸出true.5)由于集合不為空,所以()返回false.案例7-14遍歷Map中所有的鍵值一、案例描述1、考核知識點編號:00107014名稱:HashMap集合2、練習(xí)目標(biāo)掌握遍歷Map中所有的鍵值兩種方法3、需求分析在程序開發(fā)中,經(jīng)常需要取出Map中所有的鍵和值.為了讓

10、大家熟悉遍歷Map中所有的鍵值,本案例將演示遍歷Map中所有的鍵值對的兩種遍歷方式.4、設(shè)計思路實現(xiàn)原理1編寫類Example14,在該類中創(chuàng)立Map集合并向集合中添加元素2使用第一種方式,遍歷集合元素,先獲取鍵的集合,再獲取鍵所對應(yīng)的值3使用第二種方式,先獲取集合中鍵值對映射關(guān)系,再從映射關(guān)系中獲得鍵和值、案例實現(xiàn)import.*;publicclassExample14publicstaticvoidmain(String口args);publicclassExample15publicstaticvoidmain(String口args)Strings=cbxzbvavdvgd;ppen

11、d().append(i).append();Stringresult=();運行結(jié)果如圖7-20所示.圖7-2運行結(jié)果三、案例總結(jié)HashMap相同.從輸出結(jié)果可以看1、在本案例中,演示了TreeMap集合中元素的存儲和迭代方法與TreeMap中是通出,TreeMap集合中的元素是不重復(fù)的,并且根據(jù)值的自然順序進(jìn)行了排序.這是由于在過二叉樹的原理來保證鍵的唯一性,這個TreeSet集合存儲的原理一樣,因此TreeMap中所有的鍵是根據(jù)某種順序排列的.2、本案例中,在定義TreeMap集合時使用了泛型,即參數(shù)化類型.它可以指定該類中方法操作的數(shù)據(jù)類型,防止在集合存取時會產(chǎn)生的數(shù)據(jù)類型轉(zhuǎn)化的錯誤

12、.案例7-16Proeprties集合的功能一、案例描述1、考核知識點編號:00107016名稱:Proeprties集合2、練習(xí)目標(biāo)掌握Proeprties集合的存儲和遍歷方法3、需求分析Map接口中還有一個實現(xiàn)類Hashtable,它和HashMap的區(qū)別是Hashtable是線程平安的.Hashtable類有一個子類Properties在實際應(yīng)用中非常重要,Properties主要用來存儲字符串類型的鍵和值,為了掌握Properties集合的使用,本案例將演示Properties集合中元素的存儲,修改和遍歷.4、設(shè)計思路實現(xiàn)原理1編寫一個類Example16,創(chuàng)立Proeprties集合

13、對象2向Proeprties集合中添加元素3遍歷Proeprties集合中的元素二、案例實現(xiàn)import.*;publicclassExample16publicstaticvoidmainString口argspublicclassExample17publicstaticvoidmain(Stringargs)publicclassExample18publicstaticvoidmain(Stringargs).elements)將所有指te兀素添加到指tecollection中staticvoidreverse(Listlist)反轉(zhuǎn)指定List集合中元素的順序staticvoidsh

14、uffle(Listlist)對List集合中的元素進(jìn)行隨機排序模擬玩撲克中的“洗牌staticvoidsort(Listlist)根據(jù)元素的自然順序?qū)ist集合中的元素進(jìn)行排序staticvoidswap(Listlist,inti,intj)將指定List集合中i處元素和j處元素進(jìn)行交換staticintbinarySearch(Listlist,Objectkey)使用二分法搜索指定對象在List集合中的索引,查找的List集合中的元素必須是有序的staticObjectmax(Collectioncol)根據(jù)元素的自然順序,返回給定集合中最大的元素staticObjectmin(Co

15、llectioncol)根據(jù)元素的自然順序,返回給定集合中最小的元素staticbooleanreplaceAll(Listlist,ObjectoldVal,ObjectnewVal)用一個新的newVal替換List集合中所有的舊值oldVal案例7-19Arrays類對數(shù)組的操作、案例描述1、考核知識點編號:00107020名稱:Arrays工具類掌握如何使用Arrays工具類對數(shù)組進(jìn)行操作3、需求分析Arrays是一個專門用于操作數(shù)組的工具類,其中提供了大量的靜態(tài)方法.為了讓初學(xué)者能熟悉Arrays類中方法的功能和使用,本案例將使用Arrays類中的各種方法對數(shù)據(jù)進(jìn)行操作,來學(xué)習(xí)Arr

16、ays工具類對數(shù)組進(jìn)行排序、轉(zhuǎn)換等操作.4、設(shè)計思路(實現(xiàn)原理)1)編寫一個類Example21,在該類中定義一個數(shù)組2)用Arrays類中的sort()方法對數(shù)組進(jìn)行排序3)用toString()方法將數(shù)組轉(zhuǎn)換成字符串,并輸出4)用asList()方法將數(shù)組轉(zhuǎn)換成集合、案例實現(xiàn)import.*;publicclassExample19publicstaticvoidmain(String口args)Integer口arr=3,1,6,34,78,9;/對數(shù)組排序(arr);/將排序后的數(shù)組轉(zhuǎn)換成字符串打印出來排序后的數(shù)組:+(arr);/將數(shù)組轉(zhuǎn)換成集合Listarray=(arr);“數(shù)組轉(zhuǎn)換成集合后:+array);運行結(jié)果如圖7-25所示.圖7-3運行結(jié)果三、案例總結(jié)1、本案例中,使用Arrays的sort()方法時只需要將數(shù)組做為參數(shù)傳遞給sort()方法就可以,至于內(nèi)部是怎么進(jìn)行排序的我們無需關(guān)心.可見使用這個方法不僅可以大大減少代碼的書寫量,而且操作簡單.使用A

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論