




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
java集合必會面試題目及答案
一、單項選擇題(每題2分,共10題)1.以下哪個集合是有序且可重復的?()A.SetB.ListC.Map答案:B2.ArrayList的底層數(shù)據(jù)結(jié)構(gòu)是()。A.鏈表B.數(shù)組C.哈希表答案:B3.下列哪種集合線程安全?()A.ArrayListB.VectorC.LinkedList答案:B4.HashSet在存儲元素時主要依靠()。A.元素的順序B.元素的哈希值C.元素的大小答案:B5.要存儲鍵值對數(shù)據(jù),應該使用()。A.ListB.SetC.Map答案:C6.向TreeSet中添加自定義對象時,需要()。A.重寫equals方法B.重寫hashCode方法C.重寫compareTo方法答案:C7.以下關(guān)于LinkedList說法錯誤的是()。A.插入刪除效率高B.隨機訪問效率低C.底層是數(shù)組結(jié)構(gòu)答案:C8.HashMap在JDK8中,當鏈表長度超過()時會轉(zhuǎn)換為紅黑樹。A.6B.7C.8答案:C9.以下集合類中,()初始容量為16。A.ArrayListB.HashMapC.HashSet答案:B10.對于一個空的ArrayList,調(diào)用get(0)會()。A.返回nullB.拋出IndexOutOfBoundsExceptionC.返回一個默認值答案:B二、多項選擇題(每題2分,共10題)1.以下哪些是Java集合框架中的接口?()A.ListB.SetC.QueueD.Map答案:ABCD2.關(guān)于HashSet,正確的是()。A.不允許重復元素B.元素無序C.底層基于哈希表D.允許null元素答案:ABCD3.以下關(guān)于ArrayList和LinkedList的區(qū)別正確的是()。A.ArrayList隨機訪問快B.LinkedList插入刪除快C.ArrayList占用空間連續(xù)D.LinkedList占用空間不連續(xù)答案:ABCD4.對于Map接口,以下說法正確的是()。A.包含鍵值對B.鍵不能重復C.值可以重復D.有多種實現(xiàn)類答案:ABCD5.下列哪些操作會導致HashMap重新哈希()。A.擴容B.修改鍵對象的哈希值相關(guān)屬性C.清除所有元素再重新添加D.把元素從一個桶移動到另一個桶答案:AB6.在Java集合中,以下哪些類是線程安全的()。A.VectorB.HashtableC.ConcurrentHashMapD.CopyOnWriteArrayList答案:ABCD7.關(guān)于TreeSet的特點,以下正確的是()。A.有序B.基于紅黑樹實現(xiàn)C.元素唯一D.可以自定義排序規(guī)則答案:ABCD8.以下關(guān)于Collections工具類,正確的是()。A.可以對集合進行排序B.可以對集合進行反轉(zhuǎn)C.可以對集合進行查找D.可以對集合進行填充答案:ABCD9.以下屬于List接口的實現(xiàn)類有()。A.ArrayListB.LinkedListC.VectorD.Stack答案:ABCD10.對于HashSet,如果兩個對象通過()方法返回true,則視為相同元素。A.equalsB.hashCodeC.compareToD.toString答案:AB三、判斷題(每題2分,共10題)1.HashSet中存儲的元素是有序的。()答案:錯2.HashMap的鍵可以為null。()答案:對3.LinkedList可以作為隊列使用。()答案:對4.TreeMap是按照鍵的自然順序或者自定義順序排序的。()答案:對5.ArrayList的容量是固定不變的。()答案:錯6.向HashSet中添加元素時,會先比較哈希值,再比較equals方法。()答案:對7.Map接口沒有繼承Collection接口。()答案:對8.Vector和ArrayList的區(qū)別主要在于線程安全性。()答案:對9.所有的集合類都在java.util包下。()答案:錯10.對于一個不可變的List,可以使用Collections.unmodifiableList方法創(chuàng)建。()答案:對四、簡答題(每題5分,共4題)1.簡述ArrayList和LinkedList在內(nèi)存使用方面的區(qū)別。答案:ArrayList基于數(shù)組,內(nèi)存空間連續(xù),需要預先分配一定容量,擴容時可能造成空間浪費。LinkedList基于鏈表,節(jié)點分散存儲,不需要連續(xù)空間,每個節(jié)點除了存儲數(shù)據(jù)還要存儲指向下一節(jié)點的指針,內(nèi)存開銷稍大。2.說明HashSet如何保證元素唯一性。答案:HashSet通過元素的哈希值確定存儲位置,先計算元素哈希值,若哈希值對應的桶為空則直接存入;若不為空,則用equals方法判斷是否相同,相同則不存,不同則以鏈表或紅黑樹形式存儲在桶內(nèi)。3.簡單介紹下HashMap的工作原理。答案:HashMap基于哈希表實現(xiàn)。通過對鍵計算哈希值確定存儲位置(桶),如果發(fā)生哈希沖突(多個鍵哈希值相同),在JDK8之前采用鏈表解決,JDK8開始,鏈表長度超過8時轉(zhuǎn)換為紅黑樹。4.簡述TreeMap的排序方式。答案:TreeMap可以根據(jù)鍵的自然順序(鍵實現(xiàn)Comparable接口)或者通過自定義的比較器(構(gòu)造時傳入Comparator)來進行排序。五、討論題(每題5分,共4題)1.在多線程環(huán)境下,如何安全地使用集合類?答案:可使用線程安全的集合類如Vector、Hashtable、ConcurrentHashMap、CopyOnWriteArrayList等,或者使用Collections.synchronized方法對非線程安全集合進行包裝后使用。2.如果要對一個自定義對象的集合進行排序,有哪些方法?答案:可以讓對象實現(xiàn)Comparable接口定義自然排序,或者定義一個Comparator比較器,然后使用Collections.sort方法或者使用TreeSet、TreeMap時傳入比較器。3.分析HashMap中哈希沖突產(chǎn)生的原因以及解決辦法。答案:原因是不同鍵可能計算出相同哈希值。解決辦法是JDK8之前用鏈表,JDK8
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高考語文文本閱讀總復習學案16鑒賞詩歌思想感情
- 危貨車安全培訓
- 鉆石培訓資料
- 呼吸系統(tǒng)藥物培訓
- 城管禮儀培訓課件
- 燒傷患者教育查房
- 統(tǒng)編版高中政治必修3《政治與法治》第三單元 全面依法治國 單元測試卷(含答案)
- 禁毒知識宣傳培訓課件
- 2025版護理十大安全目標
- 足月兒精細化護理
- GB/T 19089-2003橡膠或塑料涂覆織物耐磨性的測定馬丁代爾法
- GB/T 18443.1-2010真空絕熱深冷設備性能試驗方法第1部分:基本要求
- 二三級醫(yī)院放射科要求
- 危大工程巡視檢查記錄表(深基坑)
- 鋼網(wǎng)架結(jié)構(gòu)安裝、拼裝施工方案
- Q∕SY 05262-2019 機械清管器技術(shù)條件
- 2022年社會學概論考試重點廣東海洋
- 二級建造師法規(guī)課件
- 早產(chǎn)兒出院后喂養(yǎng)(課堂PPT)
- 英語的起源與發(fā)展(課堂PPT)
- 北京市中級專業(yè)技術(shù)資格評審申報表
評論
0/150
提交評論