項(xiàng)目8-應(yīng)用集合類操作鈴聲集及數(shù)據(jù)庫參數(shù)_第1頁
項(xiàng)目8-應(yīng)用集合類操作鈴聲集及數(shù)據(jù)庫參數(shù)_第2頁
項(xiàng)目8-應(yīng)用集合類操作鈴聲集及數(shù)據(jù)庫參數(shù)_第3頁
項(xiàng)目8-應(yīng)用集合類操作鈴聲集及數(shù)據(jù)庫參數(shù)_第4頁
項(xiàng)目8-應(yīng)用集合類操作鈴聲集及數(shù)據(jù)庫參數(shù)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、項(xiàng)目8 應(yīng)用集合類操作鈴聲集及數(shù)據(jù)庫參數(shù)古凌嵐 張嬋 羅佳人民郵電出版社Java系統(tǒng)化項(xiàng)目開發(fā)教程知識(shí)要點(diǎn)集合類泛型 Collection接口及其實(shí)現(xiàn)類Map接口及其實(shí)現(xiàn)類引子 利用數(shù)組進(jìn)行對(duì)象序列的保存和操作,有什么局限性?對(duì)于簡(jiǎn)單程序而言,利用數(shù)組可存儲(chǔ)一組相同類型的元素(簡(jiǎn)單和引用類型),但需要先明確元素的個(gè)數(shù),并且創(chuàng)建后不可隨意刪除和添加實(shí)際應(yīng)用中,程序邏輯較為復(fù)雜,經(jīng)常需要處理不定數(shù)量對(duì)象的保存,之后可能還要進(jìn)行增加和刪除等操作,需要了解集合類更為合適8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件問題分析由于鈴聲文件個(gè)數(shù)可能會(huì)隨著用戶下載了新鈴聲而變化,因此,鬧鐘軟件每次啟動(dòng)時(shí),都需要

2、重新讀取指定目錄下的鈴聲文件鈴聲文件個(gè)數(shù)的不確定性,決定了需要使用Java提供的集合類集合類和泛型Collection保存單列元素子接口List會(huì)按照順序存放元素,且可存放重復(fù)元素,常用實(shí)現(xiàn)類是ArrayList子接口Set中的對(duì)象不會(huì)按特定方式擺放,且不允許重復(fù),較常用的是HashSetMap保存雙列元素由“鍵值對(duì)”組成的序列常用的實(shí)現(xiàn)類HashMap、Properties。java.util.Collections是針對(duì)集合類的一個(gè)幫助類,提供了操作集合的一系列工具方法,包括實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線程安全化等操作8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件集合類的接口及實(shí)現(xiàn)類8.1實(shí)

3、戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件泛型概念所謂泛型,即“參數(shù)化類型”。就是將類型也定義為參數(shù)形式(也稱為類型形參),類似于方法中的變量參數(shù),然后在使用時(shí)傳入具體的類型(也稱為類型實(shí)參),通常,泛型形參會(huì)使用T、E、K、V等形式表示泛型應(yīng)用示例8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件自定義泛型自定義泛型示例8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件泛型的應(yīng)用泛型類實(shí)例化時(shí),通過外部傳入類型實(shí)參,實(shí)例本身的類型是不會(huì)改變的。可以理解為外部傳入不同類型的實(shí)參,邏輯上形成了不同類型的泛型類8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件類型通配符public void disp(Graph gin

4、t)/通配符表示類型實(shí)參System.out.println(gint.getShape();類型通配符一般是使用 ? 代替具體的類型實(shí)參,而非類型形參類型通配符實(shí)現(xiàn)對(duì)于形參限制時(shí)可以通過類型通配符上限和類型通配符下限來實(shí)現(xiàn)。語法形式:泛型類:類型通配符上限,限定范圍為指定類及其子類;泛型類:類型通配符下限,限定范圍為指定類及其父類。8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件類型通配符上限應(yīng)用示例8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件ArrayList類似數(shù)組,但要比數(shù)組靈活的多。允許創(chuàng)建包含多個(gè)對(duì)象的動(dòng)態(tài)數(shù)組,并提供追加、刪除、插入元素等方法常用構(gòu)造方法public ArrayLis

5、t ( )public ArrayList (Collection c) /構(gòu)造指定 collection 的元素的列表public ArrayList (int initcap) /構(gòu)造具有初始容量initcap的空列表8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件ArrayList常用方法8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件ArrayList應(yīng)用示例運(yùn)行結(jié)果8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件HashSet常用方法8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件HashSet應(yīng)用示例運(yùn)行結(jié)果8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件8

6、.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件任務(wù)實(shí)施每次鬧鐘工具軟件啟動(dòng)時(shí),重新讀取鈴聲文件信息,需要定義一個(gè)獲得指定目錄文件信息的方法,并采用集合類ArrayList來保存獲取的文件列表,并在構(gòu)造方法中調(diào)用8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件同步練習(xí)音樂播放器項(xiàng)目MusicPlayerProj的MusicPlayerMain類,利用ArrayList實(shí)現(xiàn)音樂文件列表的保存和操作。8.1實(shí)戰(zhàn)任務(wù)九:保存指定目錄的多個(gè)鈴聲文件8.2實(shí)戰(zhàn)任務(wù)十:實(shí)現(xiàn)數(shù)據(jù)庫連接參數(shù)與功能代碼的分離問題分析DAOTFiles類中所聲明的連接數(shù)據(jù)庫參數(shù),如果部署時(shí)用戶環(huán)境發(fā)生變化需要修改,就必須重新編譯程序,而這

7、些參數(shù)的賦值與鬧鐘工具軟件的功能沒有直接聯(lián)系,可以將其與功能代碼分離通過鍵/值對(duì)表示方式,將參數(shù)保存在配置文件中,即可實(shí)現(xiàn)與功能代碼的分離Map接口的實(shí)現(xiàn)類HashMap、Properties非常適于保存由“鍵/值對(duì)”組成的序列。8.2實(shí)戰(zhàn)任務(wù)十:實(shí)現(xiàn)數(shù)據(jù)庫連接參數(shù)與功能代碼的分離HashMapMap接口用于存儲(chǔ)key/value類型數(shù)據(jù),Entry是其嵌套子接口HashMap實(shí)現(xiàn)了Map接口,并通過內(nèi)部類實(shí)現(xiàn)了Entry接口,通過維護(hù)一個(gè)Entry數(shù)組,利用put和get方法,實(shí)現(xiàn)對(duì)一組key/value對(duì)象的保存和操作HashMap內(nèi)部存儲(chǔ)結(jié)構(gòu)如圖8.2實(shí)戰(zhàn)任務(wù)十:實(shí)現(xiàn)數(shù)據(jù)庫連接參數(shù)與功能

8、代碼的分離HashMap應(yīng)用示例8.2實(shí)戰(zhàn)任務(wù)十:實(shí)現(xiàn)數(shù)據(jù)庫連接參數(shù)與功能代碼的分離8.2實(shí)戰(zhàn)任務(wù)十:實(shí)現(xiàn)數(shù)據(jù)庫連接參數(shù)與功能代碼的分離Properties軟件項(xiàng)目中,有一些變量,如,數(shù)據(jù)庫服務(wù)器IP地址,與軟件功能無關(guān),但與部署的環(huán)境有關(guān),通常采用配置文件方式,將其作為屬性來進(jìn)行設(shè)置Properties類:讀寫配置文件中的屬性8.2實(shí)戰(zhàn)任務(wù)十:實(shí)現(xiàn)數(shù)據(jù)庫連接參數(shù)與功能代碼的分離Properties應(yīng)用示例1)創(chuàng)建一個(gè)項(xiàng)目Lesson8Demo,在src目錄下創(chuàng)建一個(gè)子目錄(Eclipse中的Folder)config2)在該子目錄下創(chuàng)建一個(gè)文件(Eclipse中的File),文件名為perties8.2實(shí)戰(zhàn)任務(wù)十:實(shí)現(xiàn)數(shù)據(jù)庫連接參數(shù)與功能代碼的分離3)在perties文件中,寫入下面語句name=zhangsanpassword=1234564)創(chuàng)建PropertiesUtil 類8.2實(shí)戰(zhàn)任務(wù)十:實(shí)現(xiàn)數(shù)據(jù)庫連接參數(shù)與功能代碼的分離任務(wù)實(shí)施創(chuàng)建目錄編寫配置文件pertiesjdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql:/localhost:3306/alarmdbjdbc.username=rootjdbc.password=1

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論