更新時(shí)間:2021-05-12 10:50:23 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1509次
1.數(shù)組和集合有什么區(qū)別?
答:數(shù)組是固定的長度,存儲(chǔ)的基本數(shù)據(jù)類型是引用數(shù)據(jù)類型,存儲(chǔ)的元素必須是同數(shù)據(jù)類型的;集合的長度是可以變,只能存儲(chǔ)引用數(shù)據(jù)類型,存儲(chǔ)發(fā)對(duì)象可以是不同數(shù)據(jù)類型。
2.collection接口的子接口有哪幾個(gè)?
答:set接口和list接口。
3.set接口的實(shí)現(xiàn)類主要有哪些?
答:主要有HashSet、TreeSet、LinkedHash三個(gè)常用的實(shí)現(xiàn)類。
4.List接口實(shí)現(xiàn)類主要有哪些呢?
答:主要有ArrayList、LinkedList、vector,其中vector老以前的。
5.Map接口的實(shí)現(xiàn)類有?
答:主要有三個(gè)常用的HashMap、TreeMap、LinkedHashMap接口,這三個(gè)接口和set接口有點(diǎn)相似,但是它們的區(qū)別是Map存儲(chǔ)的是鍵值對(duì)。而set存儲(chǔ)的是單個(gè)元素。
6.迭代器Iterator是什么呢?
答:Iterator接口提供遍歷任何collection的接口的,特點(diǎn)只能單向遍歷,但是很安全,它可以保證在當(dāng)前遍歷的集合被更新的時(shí)候,就會(huì)拋concurrenModificationException異常的。
7.如何對(duì)Obiect的list排序?
答:對(duì)于object數(shù)組進(jìn)行排序,可以使用Arrays.sort()方法的,如果我們要對(duì)object的集合進(jìn)行排序,我們需要的是使用collections.sort()方法的。
8.你是如何保證一個(gè)集合線程安全的呢?
答:對(duì)于安全問題vector、hashtable、properties、stack它們都是同步的類的,之所以它們的線程都是安全,當(dāng)然了可以被使用在多線程環(huán)境中,然后就是當(dāng)我們使用collections.synchronizedList(list)方法時(shí),也可以保證list類的線程安全問題的。
9.你知道Iterator符合哪個(gè)設(shè)計(jì)模式?
答:是Iterator設(shè)計(jì)模式的。
10.你是否知道Hashset實(shí)現(xiàn)了哪個(gè)數(shù)據(jù)結(jié)構(gòu)呢?
答:其實(shí)hashset內(nèi)部是實(shí)現(xiàn)了HashMap的。
11.你可以說一下array和arraylist的區(qū)別嗎?
答:array的大小是固定的,和object有點(diǎn)類似,然而arraylist它是同質(zhì)和異質(zhì)元素的集合的。
12.你了解什么是死鎖嗎?
答:死鎖是當(dāng)兩個(gè)線程都在等待對(duì)方執(zhí)行完畢才能執(zhí)行的時(shí)候就會(huì)發(fā)生死鎖的,產(chǎn)生死鎖最終兩個(gè)線程都會(huì)陷入了一個(gè)無線的等待中。
13.你知道ArrayList的優(yōu)點(diǎn)是什么嗎?
答:查詢的速度快。
14.請(qǐng)問HashMap和HashSet的區(qū)別是什么呢?
答:hashmap是使用的是唯一鍵獲取對(duì)象的,hashmap相對(duì)于hashset比較快一些;hashmap存儲(chǔ)是鍵值對(duì),而ahshset存儲(chǔ)是對(duì)象。
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Java集合面試題部分",希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)