版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年彈射救生系統(tǒng)合作協(xié)議書
- 小學(xué)一年級(jí)日記10篇
- 2024年臺(tái)站測(cè)風(fēng)儀項(xiàng)目合作計(jì)劃書
- 2024年加氣站設(shè)備項(xiàng)目建議書
- Tetratriacontane-Standard-生命科學(xué)試劑-MCE
- Tetracosane-Standard-生命科學(xué)試劑-MCE
- Stemoninine-生命科學(xué)試劑-MCE
- 2024年中考物理機(jī)械運(yùn)動(dòng)考點(diǎn)考題與提升訓(xùn)練含解析
- 2024-2025學(xué)年新教材高中地理第一章宇宙中的地球4地球的圈層結(jié)構(gòu)學(xué)案新人教版必修1
- 六年級(jí)科學(xué)上冊(cè)第二單元形狀與結(jié)構(gòu)3拱形的力量教案教科版
- GB/T 7354-2003局部放電測(cè)量
- GB/T 3286.1-1998石灰石、白云石化學(xué)分析方法氧化鈣量和氧化鎂量的測(cè)定
- GB 5606.6-2005卷煙第6部分:質(zhì)量綜合判定
- 無人機(jī)護(hù)林巡檢實(shí)施方案LSJ022年022六視角科技
- 華醫(yī)網(wǎng)繼續(xù)教育《醫(yī)務(wù)人員職業(yè)素質(zhì)修養(yǎng)與執(zhí)業(yè)法律知識(shí)》考試題及答案
- 清潔度測(cè)試報(bào)告潔凈度測(cè)試報(bào)告
- 如何給領(lǐng)導(dǎo)拍照課件
- 2022版義務(wù)教育(數(shù)學(xué))課程標(biāo)準(zhǔn)(含2022年新增和修訂部分)
- Hellp綜合征專題知識(shí)
- 小學(xué)生氣象知識(shí)問答【問答題】
- 西亞、中亞、北非音樂課件
評(píng)論
0/150
提交評(píng)論