Java基礎(chǔ)案例教程(第2版)課后習(xí)題第6章集合類(lèi)及答案_第1頁(yè)
Java基礎(chǔ)案例教程(第2版)課后習(xí)題第6章集合類(lèi)及答案_第2頁(yè)
Java基礎(chǔ)案例教程(第2版)課后習(xí)題第6章集合類(lèi)及答案_第3頁(yè)
Java基礎(chǔ)案例教程(第2版)課后習(xí)題第6章集合類(lèi)及答案_第4頁(yè)
Java基礎(chǔ)案例教程(第2版)課后習(xí)題第6章集合類(lèi)及答案_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余2頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

第6章 集合類(lèi)一、填空題1.________是所有單列集合的父接口,它定義了單列集合(List和Set)通用的一些方法。2.使用Iterator遍歷集合時(shí),首先需要調(diào)用________方法判斷是否存在下一個(gè)元素,若存在下一個(gè)元素,則調(diào)用________方法取出該元素。3.List集合的主要實(shí)現(xiàn)類(lèi)有________、_______,Set集合的主要實(shí)現(xiàn)類(lèi)有________、________,Map集合的主要實(shí)現(xiàn)類(lèi)有________、________。4.Map接口是一種雙列集合,它的每個(gè)元素都包含一個(gè)鍵對(duì)象________和值對(duì)象________,鍵和值對(duì)象之間存在一種對(duì)應(yīng)關(guān)系,稱(chēng)為映射。5.ArrayList內(nèi)部封裝了一個(gè)長(zhǎng)度可變的________。二、判斷題1.Set集合時(shí)通過(guò)鍵值對(duì)的方式來(lái)存儲(chǔ)對(duì)象的。2.ArrayList集合查詢(xún)?cè)氐乃俣群芸?,但是增刪改查效率較低。3.Set接口主要有兩個(gè)實(shí)現(xiàn)類(lèi),分別是HashSet和TreeSet。4.Map接口是一種雙列集合,它的每個(gè)元素都包含一個(gè)鍵對(duì)象Key和值對(duì)象Value。5.Lambda表達(dá)式只能是一個(gè)語(yǔ)句塊。三、選擇題1.以下那些集合可以保存具有映射關(guān)系的數(shù)據(jù)()(多選)A、ArrayListB、TreeMapC、HashMapD、TreeSet2.下列關(guān)于LinkedList類(lèi)的方法,不是從List接口中繼承而來(lái)的是()A、toArray()B、pop()C、remove()D、isEmpty()3.以下屬于Map接口集合常用方法的有()(多選)A、booleancontainsKey(Objectkey)B、Collectionvalues()C、voidforEach(BiConsumeraction)D、booleanreplace(Objectkey,Objectvalue)4.使用Iterator時(shí),判斷是否存在下一個(gè)元素可以使用以下哪個(gè)方法()A、next()B、hash()C、hasPrevious()D、hasNext()5.閱讀下面的代碼:publicclassExample{

publicstaticvoidmain(String[]args){

String[]strs={"Tom","Jerry","Donald"};

//foreach循環(huán)遍歷數(shù)組

for(Stringstr:strs){

str="Tuffy";

}

System.out.println(strs[0]+","+strs[1]+","+strs[2]);

}}程序的運(yùn)行結(jié)果是()A.Tom,JerryB.Tom,Jerry,TuffyC.Tom,Jerry,DonaldD.以上都不對(duì)四、簡(jiǎn)答題1.簡(jiǎn)述集合List、Set和Map的區(qū)別。2.簡(jiǎn)述為什么ArrayList的增刪操作比較慢,查找操作比較快。五、編程題1.請(qǐng)按照下列要求編寫(xiě)程序。(1)編寫(xiě)一個(gè)Student類(lèi),包含name和age屬性,提供有參構(gòu)造方法。(2)在Student類(lèi)中,重寫(xiě)toString()方法,輸出age和name的值。(3)在Student類(lèi)中,重寫(xiě)hashCode()和equals()方法a.hashCode()的返回值是name的hash值與age的和。b.equals()判斷對(duì)象的name和age是否相同,相同則返回true不同返回false。(4)最后編寫(xiě)一個(gè)測(cè)試類(lèi),創(chuàng)建一個(gè)HashSet<Student>對(duì)象hs,向hs中添加多個(gè)Student對(duì)象,假設(shè)有兩個(gè)Student對(duì)象相等,輸出HashSet,觀察是否添加成功。2.請(qǐng)按照下列提示編寫(xiě)一個(gè)泛型接口以及其實(shí)現(xiàn)類(lèi)。提示:(1)創(chuàng)建一個(gè)泛型接口Generic<T>,并創(chuàng)建一個(gè)抽象方法get(Tt);(2)創(chuàng)建一個(gè)實(shí)現(xiàn)類(lèi)GenericImpl<T>,空實(shí)現(xiàn)get(Tt)方法。第6章 集合類(lèi)一.填空1.Collection2.hashNext()next()3.ArrayList、LinkedList,HashSet、TreeSet,HashMap、TreeMap4.Key、Value5.數(shù)組二.判斷1.錯(cuò)2.對(duì)3.對(duì)4.對(duì)5.錯(cuò)三.選擇1.BC2.B3.ABCD4.D5.C四.簡(jiǎn)答1.List的特點(diǎn)是元素有序、可重復(fù)。List接口的主要實(shí)現(xiàn)類(lèi)有ArrayList和LinkedList。Set的特點(diǎn)是元素?zé)o序、不可重復(fù)。Set接口的主要實(shí)現(xiàn)類(lèi)有HashSet和TreeSet。Map的特點(diǎn)是存儲(chǔ)的元素是鍵(Key)、值(Value)映射關(guān)系,元素都是成對(duì)出現(xiàn)的。Map接口的主要實(shí)現(xiàn)類(lèi)有HashMap和TreeMap。2.由于ArrayList集合的底層是使用一個(gè)數(shù)組來(lái)保存元素,在增加或刪除指定位置的元素時(shí),會(huì)導(dǎo)致創(chuàng)建新的數(shù)組,效率比較低,因此不適合做大量的增刪操作。但這種數(shù)組的結(jié)構(gòu)允許程序通過(guò)索引的方式來(lái)訪問(wèn)元素,因此使用ArrayList集合查找元素很便捷。五.編程1.參考答案importjava.util.*;classStudent{

privateintage;

privateStringname;

publicStudent(intage,Stringname){

this.age=age;

=name;

}

publicStringtoString(){

returnage+":"+name;

}

publicinthashCode(){

returnname.hashCode()+age;

}

publicbooleanequals(Objectobj){

if(this==obj)

returntrue;

if(!(objinstanceofStudent))

returnfalse;

Studentstu=(Student)obj;

return.equals()&&this.age==stu.age;

}}publicclassTest{

publicstaticvoidmain(String[]args){

HashSet<Student>hs=newHashSet<Student>();

hs.add(newStudent(18,"zhangsan"));

hs.add(newStudent(20,"lisa"));

hs.add(newStudent(20,"lisa"));

System

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論