更新時間:2021-05-12 10:50:23 來源:動力節(jié)點(diǎn) 瀏覽1195次
1.數(shù)組和集合有什么區(qū)別?
答:數(shù)組是固定的長度,存儲的基本數(shù)據(jù)類型是引用數(shù)據(jù)類型,存儲的元素必須是同數(shù)據(jù)類型的;集合的長度是可以變,只能存儲引用數(shù)據(jù)類型,存儲發(fā)對象可以是不同數(shù)據(jù)類型。
2.collection接口的子接口有哪幾個?
答:set接口和list接口。
3.set接口的實(shí)現(xiàn)類主要有哪些?
答:主要有HashSet、TreeSet、LinkedHash三個常用的實(shí)現(xiàn)類。
4.List接口實(shí)現(xiàn)類主要有哪些呢?
答:主要有ArrayList、LinkedList、vector,其中vector老以前的。
5.Map接口的實(shí)現(xiàn)類有?
答:主要有三個常用的HashMap、TreeMap、LinkedHashMap接口,這三個接口和set接口有點(diǎn)相似,但是它們的區(qū)別是Map存儲的是鍵值對。而set存儲的是單個元素。
6.迭代器Iterator是什么呢?
答:Iterator接口提供遍歷任何collection的接口的,特點(diǎn)只能單向遍歷,但是很安全,它可以保證在當(dāng)前遍歷的集合被更新的時候,就會拋concurrenModificationException異常的。
7.如何對Obiect的list排序?
答:對于object數(shù)組進(jìn)行排序,可以使用Arrays.sort()方法的,如果我們要對object的集合進(jìn)行排序,我們需要的是使用collections.sort()方法的。
8.你是如何保證一個集合線程安全的呢?
答:對于安全問題vector、hashtable、properties、stack它們都是同步的類的,之所以它們的線程都是安全,當(dāng)然了可以被使用在多線程環(huán)境中,然后就是當(dāng)我們使用collections.synchronizedList(list)方法時,也可以保證list類的線程安全問題的。
9.你知道Iterator符合哪個設(shè)計模式?
答:是Iterator設(shè)計模式的。
10.你是否知道Hashset實(shí)現(xiàn)了哪個數(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)兩個線程都在等待對方執(zhí)行完畢才能執(zhí)行的時候就會發(fā)生死鎖的,產(chǎn)生死鎖最終兩個線程都會陷入了一個無線的等待中。
13.你知道ArrayList的優(yōu)點(diǎn)是什么嗎?
答:查詢的速度快。
14.請問HashMap和HashSet的區(qū)別是什么呢?
答:hashmap是使用的是唯一鍵獲取對象的,hashmap相對于hashset比較快一些;hashmap存儲是鍵值對,而ahshset存儲是對象。
以上就是動力節(jié)點(diǎn)小編介紹的"Java集合面試題部分",希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為您服務(wù)。
初級 202925
初級 203221
初級 202629
初級 203743