




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PAGE1【習(xí)題7】一、選擇題CBBAC二、填空題1、集(Set)列表(List)2、映射(Map)3、Iterator4、LinkedListArrayList5、HastSetTreeSet三、簡答題1、簡述集合容器的分類。答:集合容器類共分為兩類,分別是:集合(Collection):一個集合就是存儲一組對象的容器,Java集合框架支持集(Set)和列表(List)兩種類型的集合。Set(集):集合中的對象(也稱為元素element)沒有次序之分,且沒有重復(fù)對象。List(列表):集合中的對象按照索引位置排序,可以有重復(fù)對象,可以按索引位置檢索對象。映射(Map):集合中的每個對象都由一個特殊的“鍵-值”對組成。鍵對象不能重復(fù),值對象可以重復(fù)。2、簡述Iterator接口中主要方法。答:Iterator接口中主要方法有:booleanhasNext():判斷是否存在另一個可以訪問的元素Objectnext():返回下一個可以訪問的元素。通常與hasNext()方法結(jié)合使用,以免產(chǎn)生異常。voidremove():刪除上次訪問返回的對象。3、簡述Set接口和List接口的差異。答:Set接口繼承Collection接口,與List接口比較相似,但又有兩個典型差異,分別是:Set中不保存重復(fù)的元素(List中可以有重復(fù)元素)Set中不能保證元素順序信息(List中的元素順序是確定的)四、編程題1、創(chuàng)建一個book包,里面包含第5章編寫的Book類,設(shè)計一個管理個人藏書的IMyBook接口,包含添加藏書、根據(jù)書名查找藏書、根據(jù)作者查找藏書、計算藏書總數(shù)和計算藏書總金額的抽象方法。分別用List、Set、Map3種接口編寫MyBookList、MyBookSet和MyBookMap類管理Book類,實現(xiàn)IMyBook中的抽象方法。編寫B(tài)ookTest類進(jìn)行測試。packagechap07.book;importjava.util.List;importchap05.Book;publicinterfaceIMyBook{ publicvoidadd(Bookbook); publicBookfindByTitle(Stringtitle); publicList<Book>findByAuthor(Stringauthor); publicfloattotalAmount(); publicintbookCount();}packagechap07.book;importjava.util.LinkedList;importjava.util.List;importchap05.Book;publicclassMyBookListimplementsIMyBook{ privateList<Book>bookList=newLinkedList<Book>(); publicvoidadd(Bookbook){ bookList.add(book); } publicBookfindByTitle(Stringtitle){ for(Bookb:bookList){ if(b.getTitle().equals(title)){ returnb; } } returnnull; } publicList<Book>findByAuthor(Stringauthor){ List<Book>list=newLinkedList<Book>(); for(Bookb:bookList){ if(b.getAuthor().equals(author)){ list.add(b); } } returnlist; } publicfloattotalAmount(){ floatsum=0; for(Bookb:bookList){ sum+=b.getPrice(); } returnsum; } publicintbookCount(){ returnbookList.size(); }}packagechap07.book;importjava.util.HashMap;importjava.util.LinkedList;importjava.util.List;importjava.util.Map;importchap05.Book;publicclassMyBookMapimplementsIMyBook{ privateMap<String,Book>bookMap=newHashMap<String,Book>(); publicvoidadd(Bookbook){ bookMap.put(book.getTitle(),book); } publicBookfindByTitle(Stringtitle){ return(bookMap.get(title)); } publicList<Book>findByAuthor(Stringauthor){ List<Book>list=newLinkedList<Book>(); for(Bookb:bookMap.values()){ if(b.getAuthor().equals(author)){ list.add(b); } } returnlist; } publicfloattotalAmount(){ floatsum=0; for(Bookb:bookMap.values()){ sum+=b.getPrice(); } returnsum; } publicintbookCount(){ returnbookMap.size(); }}packagechap07.book;importjava.util.HashSet;importjava.util.LinkedList;importjava.util.List;importjava.util.Set;importchap05.Book;publicclassMyBookSetimplementsIMyBook{ privateSet<Book>bookSet=newHashSet<Book>(); publicvoidadd(Bookbook){ bookSet.add(book); } publicBookfindByTitle(Stringtitle){ for(Bookb:bookSet){ if(b.getTitle().equals(title)){ returnb; } } returnnull; } publicList<Book>findByAuthor(Stringauthor){ List<Book>list=newLinkedList<Book>(); for(Bookb:bookSet){ if(b.getAuthor().equals(author)){ list.add(b); } } returnlist; } publicfloattotalAmount(){ floatsum=0; for(Bookb:bookSet){ sum+=b.getPrice(); } returnsum; } publicintbookCount(){ returnbookSet.size(); }}packagechap07.book;importjava.util.List;importchap05.Book;publicclassBookTest{ publicstaticvoidmain(String[]args){ //孫瀏毅、Java寶典、98.00、電子工業(yè)出版社、2009 IMyBookmyBook=newMyBookMap(); Bookbook=newBook(); book.setAuthor("孫瀏毅"); book.setTitle("Java寶典"); book.setPrice(98.00F); book.setPublisher("電子工業(yè)出版社"); book.setPublishedYear(2009); myBook.add(book); book=newBook(); book.setAuthor("孫瀏毅"); book.setTitle("Java寶典(第二版)"); book.setPrice(198.00F); book.setPublisher("電子工業(yè)出版社"); book.setPublishedYear(2009); myBook.add(book); book=newBook(); book.setAuthor("黃能耿"); book.setTitle("Java語言程序設(shè)計及實訓(xùn)"); book.setPrice(28.00F); book.setPublisher("機械工業(yè)出版社"); book.setPublishedYear(2009); myBook.add(book); //以下進(jìn)行測試 System.out.println("圖書總數(shù):"); System.out.println(myBook.bookCount()); System.out.println("\n圖書總金額:"); System.out.println(myBook.totalAmount()); System.out.println("\n查找《Java語言程序設(shè)計》:"); printBook(myBook.findByTitle("Java語言程序設(shè)計")); System.out.println("\n查找《Java語言程序設(shè)計及實訓(xùn)》:"); printBook(myBook.findByTitle("Java語言程序設(shè)計及實訓(xùn)")); System.out.println("\n查找“孫瀏毅”的書:"); List<Book>list=myBook.findByAuthor("孫瀏毅"); for(Bookb:list){ printBook(b); } } staticvoidprintBook(Bookbook){ System.out.println("\n圖書的信息是:"); if(book==null){ System.out.println("無結(jié)果."); retur
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- emc買斷合同范本
- 代款合作合同范本
- 2025年抗風(fēng)濕類藥品合作協(xié)議書
- 合同范本網(wǎng)翻譯
- 合同范本全是正式合同
- 雙方交付款合同范例
- 2025年分離純化控制系統(tǒng)項目合作計劃書
- 中英日文合同范本
- 合同范本模板去石墻
- 叉車置換銷售合同范本
- 陳獨秀生平事跡
- 2024年人教版初三數(shù)學(xué)(下冊)模擬試卷及答案(各版本)
- 《大學(xué)美育》高職全套教學(xué)課件
- 醫(yī)院CT機房裝飾改造工程施工組織設(shè)計
- 軟件工程自考02333重點難點匯集
- 護(hù)理技能操作案例分析
- DZ∕T 0213-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 石灰?guī)r、水泥配料類(正式版)
- 《行政倫理學(xué)教程(第四版)》課件 張康之 第8-13章 行政組織倫理-技術(shù)時代的行政倫理
- 《水電廠應(yīng)急預(yù)案編制導(dǎo)則》
- GB/T 2471-2024電阻器和電容器優(yōu)先數(shù)系
- 國際安保行業(yè)分析
評論
0/150
提交評論