黑馬集合知識測試帶解析_第1頁
黑馬集合知識測試帶解析_第2頁
黑馬集合知識測試帶解析_第3頁
黑馬集合知識測試帶解析_第4頁
黑馬集合知識測試帶解析_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、集合部分測試題考試宣言:同學們, 考試考多少分不是我們的目的! 排在班級多少的名次也不是我們的初衷!我的考試的目的是要通過考試中的題目,檢查大家在這段時間的學習中,是否已經(jīng)把需要掌握的知識掌握住了,如果哪道題目你不會做,又或者做錯了, 那么不用怕, 考完試后, 導師講解的時候你要注意聽! 那時候?qū)W會了, 記住了, 也一樣不影響你高薪就業(yè)!本套題共40道不定項選擇題,其中單選30道,多選10道。單選2分/題,多選4分/題。多選題不全對半分,全對滿分。1. 單列集合的頂層接口是( )a) java.util.Mapb) java.util.Collection / 這是單列集合的老大,必須記住c)

2、 java.util.List d) java.util.Set 2. ArrayList類的底層數(shù)據(jù)結(jié)構(gòu)是( )a) 數(shù)組結(jié)構(gòu) /看名字也能猜出來底層的數(shù)據(jù)結(jié)構(gòu).b) 鏈表結(jié)構(gòu)c) 哈希表結(jié)構(gòu)d) 紅黑樹結(jié)構(gòu)3. LinkedList類的特點是( )a) 查詢快b) 增刪快 / 由于底層是鏈表結(jié)構(gòu),所以增刪快, 查詢慢. c) 元素不重復d) 元素自然排序4. Vector類的特點是( )a) 線程同步 / 這是早期工具的特性之一,安全性高,后來出現(xiàn)的集合都是求效率.b) 線程不同步c) 增刪快d) 底層是鏈表結(jié)構(gòu)5. 關(guān)于迭代器說法錯誤的是( )a) 迭代器是取出集合元素的方式b) 迭代器

3、的hasNext()方法返回值是布爾類型c) List集合有特有迭代器ListIteratord) next()方法將返回集合中的上一個元素 / 返回下一個元素.6. 在我們所學知識中,下面哪幾項是接口( )a) java.util.Mapb) java.util.Collectionc) java.util.Listd) java.util.Set7. 實現(xiàn)下列哪個接口,可以啟用比較功能( )a) Runnable接口b) Iterator接口c) Serializable接口d) Comparator接口/比較器接口8. 下面代碼運行的結(jié)果是( )ArrayList<String&g

4、t; al = new ArrayList<String>();al.add(true);al.add(123);al.add(“abc”);System.out.println(al);a) 編譯失敗 /因為有泛型<String>存在,所以只能存String.b) true,123c) true,123,abc;d) abc;9. 按照課堂要求重寫equals和hashCode后,下面關(guān)于這兩個方法說法正確的是( )a) 兩個對象的hashCode值相同,那么他們調(diào)用equals()方法返回值一定為trueb) 兩個對象的hashCode值相同,那么他們調(diào)用equal

5、s()方法返回值可以為false/HashCode的值為int類型,如果有超過232個不同對象的話,equals值不同,hashCode()方法返回值肯定有重復的c) hashCode值一般與對象的成員變量有關(guān)。d) 只要重寫equals方法,就一定要重寫hashCode方法10. 將Map集合中的鍵存儲到Set集合的方法是( )a) entrySet()b) get()c) keySet() /這個記住吧d) put()11. Java中的集合類包括ArrayList、LinkedList、HashMap等類,下列關(guān)于集合類描述正確的是( )a) ArrayList和LinkedList均實

6、現(xiàn)了List接口b) ArrayList的查詢速度比LinkedList快c) 添加和刪除元素時,ArrayList的表現(xiàn)更佳d) HashMap實現(xiàn)Map接口,它允許任何類型的鍵和值對象,并允許將null用作鍵或值12. ArrayList和Vector的區(qū)別說法正確的是( )a) ArrayList是線程安全的,Vector是線程不安全b) ArrayList是線程不安全的,Vector是線程安全的 /這個理解,詳細大家能明白.c) ArrayList底層是數(shù)組結(jié)構(gòu),Vector底層是鏈表結(jié)構(gòu)d) ArrayList底層是鏈表結(jié)構(gòu),Vector底層是數(shù)組結(jié)構(gòu)13. ArrayList的初始

7、化內(nèi)容如下:  ArrayList<String> list = new ArrayList<>();list.add("java");list.add("aaa");list.add("java");list.add("java");list.add("bbb");下面可以刪除list中所有的“java”的代碼是( )  a) for (int i = list.size()-1; i >= 0; i-) if("java&

8、quot;.equals(list.get(i)list.remove(i);  b) for (int i =0; i < list.size(); i+) if("java".equals(list.get(i)list.remove(i);c) list.remove("java");d) list.removeAll("java");14. 使用TreeSet的無參構(gòu)造創(chuàng)建集合對象存儲元素時,該元素必須 ( )a) 必須實現(xiàn)Comparable接口 /這是存到TreeSet集合對象必須做的,字符串已經(jīng)

9、實現(xiàn)了Comparable接口,所以我們存的時候,直接就可以.b) 有main方法c) 有g(shù)et和set方法d) 必須實現(xiàn)Serializable接口15. 將集合轉(zhuǎn)成數(shù)組的方法是( )a) asList() /Arrays.asList(); 記住吧.b) toCharArray()c) toArray()d) copy()16. 下面關(guān)于HashMap和Hashtable的區(qū)別,說法正確的是( )a) Hashtable線程不安全,效率高/A B選項說反了b) HashMap線程安全,效率低c) HashMap允許null鍵和值d) Hashtable不允許null鍵和值17. 對于增強f

10、or循環(huán)說法錯誤的是( )a) 增強for循環(huán)可以直接遍歷Map集合 /可以間接 遍歷.b) 增強for循環(huán)可以操作數(shù)組c) 增強for循環(huán)可以操作Collection集合d) 增強for循環(huán)是JDK1.5版本后出現(xiàn)的18. 下面的代碼用于輸出字符數(shù)組ch中每個字符出現(xiàn)的次數(shù) public static void main(String args) char ch = 'a', 'c', 'a', 'b', 'c', 'b' ; HashMap map = new HashMap(); for (i

11、nt i = 0; i < ch.length; i+) /位置 System.out.println(map); 應該填入位置的代碼是,不允許使用工具運行程序( ) a)if (map.contains(chi) map.put(chi, map.get(chi) + 1); else map.put(chi, 1); b)if (map.contains(chi) map.put(chi, (Integer) map.get(chi) + 1); else map.put(chi, 1); c)if (map.containsKey(chi) map.put(chi, (int) m

12、ap.get(chi) + 1); else map.put(chi, 1); d)if (map.containsKey(chi) map.put(chi, (Integer) map.get(chi) + 1); else map.put(chi, 1); 19. 對于HashMap集合說法正確的是( )a) 底層是數(shù)組結(jié)構(gòu)b) 底層是鏈表結(jié)構(gòu)c) 可以存儲null值和null鍵 / HashMap的特點,記住.其他map都不行.d) 不可以存儲null值和null鍵20. Collections工具類中的binarySearch()方法描述正確的是( )a) binarySearch()

13、方法只能操作Set集合b) binarySearch()方法只能操作List集合 /二分法查找必須是有序的集合c) binarySearch()方法只能操作Map集合d) binarySearch()可以操作所有的集合21. 下面代碼的運行結(jié)果是( ) ArrayList al = new ArrayList(); al.add(“a”); al.add(“b”); al.add(“c”); Iterator it = al.iterator(); while(it.hasNext()String s = (String)it.next();if(s.equals(“c”)al.add(“c1

14、”);System.out.println(al);a) a,b,cb) c1c) a,b,c,c1d) 拋出ConcurrentModificationException異常 / 如何解決這個問題.看下面代碼./ ListIterator it = al.ListIterator(); 要解決并發(fā)修改異常,就要用LIst集合特有的迭代器. 這個迭代器可以同時做到上面的操作.22. 關(guān)于Map.Entry接口說法錯誤的是( )a) 具有g(shù)etkey()方法b) 具有g(shù)etValue()方法c) 具有keySet()方法 /這個方法是map集合的.d) 具有setValue( )方法23. 題示

15、代碼的功能為:循環(huán)遍歷輸出Map當中的每一個元素 Map map=new HashMap(); map.put(“jessica”,100); map.put(“tom”,200); map.put(“den”,300); Set 位置 set = 位置; for ( 位置 per : set) System.out.println(per.getKey() + ":" + per.getValue(); 下列每個選項中分別填入上面三個位置,正確的是a) <Entry> map.keySet() Entry b) <Entry<Integer, St

16、ring >> map.entrySet() Entryc) <Map.Entry<String, Integer>> map.keySet() Map.Entry d) <Map.Entry<String, Integer>> map.entrySet()Map.Entry24. Set集合的特點是( )a) 元素有序b) 元素無序,不存儲重復元素 /記住.c) 存儲重復元素d) Set集合都是線程安全的25. 關(guān)于將int數(shù)組使用系統(tǒng)提供的API轉(zhuǎn)成集合后,不可以進行的操作是( )a) 增加集合中的元素 / 數(shù)組轉(zhuǎn)成的集合 它的性

17、質(zhì) 和那種以前的集合不一樣了. 大家可以試一下.可以修改元素內(nèi)容,不能添加元素個數(shù)b) 迭代集合c) 修改集合中的元素d) 獲取集合中元素的個數(shù)26. 下面代碼運行的結(jié)果是( ) ArrayList<String> al = new ArrayList<>();/JDK1.7 新特性,后面的泛型可以不寫al.add("s");al.add("ddd");al.add("true");System.out.println(al);a) 編譯失敗b) s,ddd,true / 都是字符串,沒什么說的.c) true

18、d) 運行報錯27. 關(guān)于HashMap集合說法正確的是( )a) HashMap集合是雙列集合b) HashMap集合不允許存儲重復鍵c) HashMap集合不允許存儲重復值d) HashMap集合線程是安全的28. List集合的遍歷方式有如下哪幾種 ( )a) Iterator迭代器實現(xiàn) /開發(fā)使用這種方法b) 增強for循環(huán)實現(xiàn)c)  get()和size()方法結(jié)合實現(xiàn) d) get()和length()方法結(jié)合實現(xiàn)29. 下面類或者接口中,不屬于集合體系的是( )a) b) java.util.Mapc) java.util.Vectord) java.util.Hash

19、table30. 下面的類是同步的有( )。 a) java.util.ArrayList b) c) java.util.HashMap d) 31. 下列代碼public class Base private void test() String aStr = "_One_"String bStr = aStr;_One_bStr = aStr.trim(); OneSystem.out.println("" + aStr + "," + bStr + "");static public void main(S

20、tring a) new Base().test();其中“_”表示一個空格,運行的結(jié)果是 ( )a) One,_One_ b) _One_,One c) One,One d) _One_,_One_ 32. 以下能以鍵_值對的方式存儲對象的接口是( )a) b) c) /這個是類d) 33. 在Java中,( )類可用于創(chuàng)建鏈表數(shù)據(jù)結(jié)構(gòu)的對象。a) LinkedListb) ArrayListc) Collectiond) HashMap34. 下列方法不是Collection通用方法的有( )a) iterator()b) add()c) get();/list特有d) remove()3

21、5. 題示代碼的功能為:對于一個存放Person對象的ArrayList進行循環(huán)遍歷。并輸出每個Person對象的idCard和userName。 public class Person private Long idCard; pirvate String userName; /以下是getter和setter方法 /省略 List list=new ArrayList(); Person p1=new Person(); p1.setIdCard(new Long(1001); p1.setUserName(“terry”); Person p2=new Person(); p2.setI

22、dCard(new Long(1002); p2.setUserName(“tom”); list.add(p1); list.add(p2); for( 位置 ) System.out.println(person.getIdCard()+”:”+person.getUserName(); 那么位置處的代碼為 a) List list:person b) List list:Person c) Person person:List d) Person person:list/這是格式,記住吧36. 下面關(guān)于泛型的說法不正確的是( )a) 泛型的具體確定時間可以是在定義方法的時候b) 泛型的具

23、體確定時間可以是在創(chuàng)建對象的時候c) 泛型的具體確定時間可以是在繼承父類定義子類的時候d) 泛型就是Object類型注:具體指定時間,比如 List<String> list = new ArrayList<String>();就是在new一個ArrayList的時候確定了泛型的類型37. 下面關(guān)于Collection 和 Collections的區(qū)別錯誤的是( )a) Collections是集合頂層接口/是Collectionb) Collection是針對Collections集合操作的工具類/看Dc) List、Set、Map都繼承自Collection接口/Map不屬于Collection體系,是雙列集合。但是Collection是單例集合的頂層父接口d) Collections是針對Collection集合操作的工具類38. 父類聲明:public class FXfather<T>.現(xiàn)在要定義一個Fxfather的子類son,下面定義錯誤的是( )a) class Son extends FXfather<String>b) cl

溫馨提示

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

評論

0/150

提交評論