




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
§7-1使用List集合存儲(chǔ)學(xué)生信息Java面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)目標(biāo)任務(wù)分析
在學(xué)生信息管理系統(tǒng)開(kāi)發(fā)過(guò)程中,需要存儲(chǔ)多位學(xué)生信息,由于學(xué)生個(gè)數(shù)不確定,不適合使用數(shù)組進(jìn)行存儲(chǔ),這時(shí)可以使用Java中提供的集合工具進(jìn)行處理。教學(xué)內(nèi)容1Java集合框架簡(jiǎn)介ArrayList、LinkedList、Vector2Java集合框架簡(jiǎn)介CollectionListSetArrayListVectorHashSetLinkedListMapHashMap<Key,Value>鍵值對(duì)List集合:添加的元素有序、可重復(fù)、有索引Set系列集合:添加的元素?zé)o序、不重復(fù)、無(wú)索引Map集合:代表的是存儲(chǔ)key-value(鍵-值)對(duì)的集合,可根據(jù)元素的key來(lái)訪問(wèn)value。TreeSetArrayList集合ArrayList常用方法
功能方法名說(shuō)明創(chuàng)建對(duì)象publicArrayList()創(chuàng)建一個(gè)空的集合對(duì)象添加元素publicbooleanadd(Ee)將指定的元素追加到此集合的末尾publicvoidadd(intindex,Eelement)在集合中的指定位置插入指定的元素修改元素publicEset(intindex,Eelement)修改指定索引處的元素刪除元素publicbooleanremove(Objecto)刪除指定的元素publicEremove(intindex)刪除指定索引處的元素訪問(wèn)元素publicEget(intindex)返回指定索引處的元素publicbooleancontains(Eelement)判斷集合是否包含指定的元素返回元素個(gè)數(shù)publicintsize()返回集合中的元素的個(gè)數(shù)ArrayList集合publicstaticvoidmain(String[]args){ //創(chuàng)建電影集合對(duì)象 ListmovieList=newArrayList(); movieList.add("《我和我的祖國(guó)》"); movieList.add("《建軍大業(yè)》"); movieList.add("《建黨偉業(yè)》"); movieList.add("《長(zhǎng)津湖》"); //調(diào)用size()方法取得集合的大小 System.out.println("集合中存儲(chǔ)電影的數(shù)量:"+movieList.size());創(chuàng)建一個(gè)空的ArrayList集合對(duì)象
向集合中添加4部電影
獲取集合元素個(gè)數(shù)ArrayList集合//在指定的索引位置添加電影movieList.add(2,"《團(tuán)結(jié)起來(lái)到明天》");//判斷集合中是否有《建軍大業(yè)》這部影片if(movieList.contains("《建軍大業(yè)》")){ System.out.println("集合中有《建軍大業(yè)》這部影片");}else{System.out.println("集合中沒(méi)有《建軍大業(yè)》這部影片"); }//從集合中刪除《長(zhǎng)津湖》這部影片movieList.remove("《長(zhǎng)津湖》");
在集合索引為2的位置添加電影名稱判斷集合中是否有
《建軍大業(yè)》這部電影
從集合中刪除《長(zhǎng)津湖》電影ArrayList集合//ArrayList遍歷方法一:循環(huán)調(diào)用get()方法System.out.println("使用普通循環(huán)結(jié)構(gòu)遍歷:");for(inti=0;i<movieList.size();i++){ StringmovieName=(String)movieList.get(i); System.out.println(movieName); }
//ArrayList遍歷方法二:for-each方法System.out.println("使用foreach遍歷:");for(Objectobj:movieList){ StringmovieName=(String)obj; System.out.println(movieName); }
//ArrayList遍歷方法三:迭代法System.out.println("使用Iterator迭代器遍歷:");IteratormovieIterator=movieList.iterator();while(movieIterator.hasNext()){ StringmovieName=(String)movieIterator.next(); System.out.println(movieName); } }}LinkedList集合LinkedList雙向鏈表結(jié)構(gòu),查詢慢,增加或刪除速度快。LinkedList操作首尾元素比較快,提供特有API } }}523232下一個(gè)節(jié)點(diǎn)的地址上一個(gè)節(jié)點(diǎn)的地址下一個(gè)節(jié)點(diǎn)的地址上一個(gè)節(jié)點(diǎn)的地址LinkedList集合 } }}LinkedList集合中增加和刪除元素的特殊方法功能方法名說(shuō)明增加元素publicvoidaddFirst(Ee)添加到第一個(gè)元素publicvoidaddLast(Ee)添加到最后一個(gè)元素訪問(wèn)元素publicEgetFirst()獲得表頭的元素publicEgetLast()獲得表尾的元素刪除元素publicEremoveFirst()刪除并返回第一個(gè)元素publicEremoveLast()刪除并返回最后一個(gè)元素Vector集合 } }}Vector是同步訪問(wèn),線程安全的。即某一時(shí)刻只有一個(gè)線程能夠?qū)慥ector,避免多線程同時(shí)寫(xiě)而引起的不一致性。多線程訪問(wèn)時(shí)最好使用Vector,保證數(shù)據(jù)安全。Vector集合 } }}Vector是同步訪問(wèn),線程安全的。即某一時(shí)刻只有一個(gè)線程能夠?qū)慥ector,避免多線程同時(shí)寫(xiě)而引起的不一致性。多線程訪問(wèn)時(shí)最好使用Vector,保證數(shù)據(jù)安全。LinkedList集合 } }}LinkedList集合中增加和刪除元素的特殊方法功能方法名說(shuō)明增加元素publicvoidaddFirst(Ee)添加到第一個(gè)元素publicvoidaddLast(Ee)添加到最后一個(gè)元素訪問(wèn)元素publicEgetFirst()獲得表頭的元素publicEgetLast()獲得表尾的元素刪除元素publicEremoveFirst()刪除并返回第一個(gè)元素publicEremoveLast()刪除并返回最后一個(gè)元素LinkedList集合LinkedList雙向鏈表結(jié)構(gòu),查詢慢,增加或刪除速度快。LinkedList操作首尾元素比較快,提供特有API } }}523232下一個(gè)節(jié)點(diǎn)的地址上一個(gè)節(jié)點(diǎn)的地址下一個(gè)節(jié)點(diǎn)的地址上一個(gè)節(jié)點(diǎn)的地址ArrayList集合//ArrayList遍歷方法一:循環(huán)調(diào)用get()方法System.out.println("使用普通循環(huán)結(jié)構(gòu)遍歷:");for(inti=0;i<movieList.size();i++){ StringmovieName=(String)movieList.get(i); System.out.println(movieName); }
//ArrayList遍歷方法二:for-each方法System.out.println("使用foreach遍歷:");for(Objectobj:movieList){ StringmovieName=(String)obj; System.out.println(movieName); }
//ArrayList遍歷方法三:迭代法System.out.println("使用Iterator迭代器遍歷:");IteratormovieIterator=movieList.iterator();while(movieIterator.hasNext()){ StringmovieName=(String)movieIterator.next(); System.out.println(movieName); } }}ArrayList集合//在指定的索引位置添加電影movieList.add(2,"《團(tuán)結(jié)起來(lái)到明天》");//判斷集合中是否有《建軍大業(yè)》這部影片if(movieList.contains("《建軍大業(yè)》")){ System.out.println("集合中有《建軍大業(yè)》這部影片");}else{System.out.println("集合中沒(méi)有《建軍大業(yè)》這部影片"); }//從集合中刪除《長(zhǎng)津湖》這部影片movieList.remove("《長(zhǎng)津湖》");
在集合索引為2的位置添加電影名稱判斷集合中是否有
《建軍大業(yè)》這部電影
從集合中刪除《長(zhǎng)津湖》電影ArrayList集合publicstaticvoidmain(String[]args){ //創(chuàng)建電影集合對(duì)象 ListmovieList=newArrayList(); movieList.add("《我和我的祖國(guó)》"); movieList.add("《建軍大業(yè)》"); movieList.add("《建黨偉業(yè)》"); movieList.add("《長(zhǎng)津湖》"); //調(diào)用size()方法取得集合的大小 System.out.println("集合中存儲(chǔ)電影的數(shù)量:"+movieList.size());創(chuàng)建一個(gè)空的ArrayList集合對(duì)象
向集合中添加4部電影
獲取集合元素個(gè)數(shù)ArrayList集合ArrayList常用方法
功能方法名說(shuō)明創(chuàng)建對(duì)象publicArrayList()創(chuàng)建一個(gè)空的集合對(duì)象添加元素publicbooleanadd(Ee)將指定的元素追加到此集合的末尾publicvoidadd(intindex,Eelement)在集合中的指定位置插入指定的元素修改元素publicEset(intindex,Eelement)修改指定索引處的元素刪除元素publicbooleanremove(Objecto)刪除指定的元素publicEremove(intindex)刪除指定索引處的元素訪問(wèn)元素publicEget(intindex)返回指定索引處的元素publicbooleancontains(Eelement)判斷集合是否包含指定的元素返回元素個(gè)數(shù)publicintsize()返回集合中的元素的個(gè)數(shù)Java集合框架簡(jiǎn)介CollectionListSetArrayListVectorHashSetLinkedListMapHashMap<Key,Value>鍵值對(duì)List集合:添加的元素有序、可重
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)網(wǎng)絡(luò)機(jī)頂盒市場(chǎng)行情動(dòng)態(tài)分析及發(fā)展前景趨勢(shì)預(yù)測(cè)報(bào)告
- 2025年刺晶座行業(yè)深度研究分析報(bào)告
- 中國(guó)積放懸掛輸送機(jī)項(xiàng)目投資可行性研究報(bào)告
- 2023-2029年中國(guó)水路貨運(yùn)行業(yè)發(fā)展監(jiān)測(cè)及投資前景展望報(bào)告
- 2020-2025年中國(guó)商業(yè)體育俱樂(lè)部市場(chǎng)前景預(yù)測(cè)及投資規(guī)劃研究報(bào)告
- 2025年除味劑行業(yè)深度研究分析報(bào)告
- 2025年懸掛裝置行業(yè)深度研究分析報(bào)告
- 雪尼絨行業(yè)深度研究報(bào)告
- 中國(guó)熱敏打印機(jī)行業(yè)發(fā)展趨勢(shì)及投資前景預(yù)測(cè)報(bào)告
- 生物梳理 長(zhǎng)句類規(guī)范作答模板
- 勞務(wù)投標(biāo)書(shū)技術(shù)標(biāo)
- 尿碘檢測(cè)臨床意義
- 2022年山東司法警官職業(yè)學(xué)院?jiǎn)握姓Z(yǔ)文試題及答案解析
- 2023版北京協(xié)和醫(yī)院重癥醫(yī)學(xué)科診療常規(guī)
- 鋼網(wǎng)驗(yàn)收?qǐng)?bào)告
- 防水補(bǔ)漏工程合同(合同版本)
- 鐵路局中間站管理手冊(cè)
- 監(jiān)理日志表(標(biāo)準(zhǔn)模版)
- H3C-CAS虛擬化平臺(tái)詳細(xì)介紹
- 小學(xué)生韻母in、ing常見(jiàn)漢字與區(qū)分練習(xí)
- 藥房品種類別及數(shù)量清單
評(píng)論
0/150
提交評(píng)論