<tt id="eu6cu"><rt id="eu6cu"></rt></tt>
<rt id="eu6cu"><small id="eu6cu"></small></rt><rt id="eu6cu"><optgroup id="eu6cu"></optgroup></rt>
<rt id="eu6cu"></rt>
?

首頁 》華育動態 >

10個經典Java 集合面試題!

發表日期:2020年05月26日 文章編輯:IT實戰

這里有10個經典的Java面試題,也為大家列出了答案。這是Java開發人員面試經常容易遇到的問題,相信你了解和掌握之后一定會有所提高
讓我們一起來看看吧。
1.Java的HashMap是如何工作的?
HashMap是一個針對數據結構的鍵值,每個鍵都會有相應的值,關鍵是識別這樣的值。
HashMap 基于 hashing 原理,我們通過 put ()和 get ()方法儲存和獲取對象。當我們將鍵值對傳遞給 put ()方法時,它調用鍵對象的 hashCode ()方法來計算 hashcode,讓后找到 bucket 位置來儲存值對象。
當獲取對象時,通過鍵對象的 equals ()方法找到正確的鍵值對,然后返回值對象。HashMap 使用 LinkedList 來解決碰撞問題,當發生碰撞了,對象將會儲存在 LinkedList 的下一個節點中。HashMap 在每個 LinkedList 節點中儲存鍵值對對象。
2.什么是快速失敗的故障安全迭代器?
快速失敗的Java迭代器可能會引發ConcurrentModifcationException在底層集合迭代過程中被修改。故障安全作為發生在實例中的一個副本迭代是不會拋出任何異常的。
快速失敗的故障安全范例定義了當遭遇故障時系統是如何反應的。例如,用于失敗的快速迭代器ArrayList和用于故障安全的迭代器ConcurrentHashMap。
3.Java BlockingQueue是什么?
Java BlockingQueue是一個并發集合util包的一部分。BlockingQueue隊列是一種支持操作,它等待元素變得可用時來檢索,同樣等待空間可用時來存儲元素。
4.什么時候使用ConcurrentHashMap?
在問題2中我們看到ConcurrentHashMap被作為故障安全迭代器的一個實例,它允許完整的并發檢索和更新。當有大量的并發更新時,ConcurrentHashMap此時可以被使用。
這非常類似于Hashtable,但ConcurrentHashMap不鎖定整個表來提供并發,所以從這點上ConcurrentHashMap的性能似乎更好一些。所以當有大量更新時ConcurrentHashMap應該被使用。
5.哪一個List實現了最快插入?
LinkedList和ArrayList是另個不同變量列表的實現。ArrayList的優勢在于動態的增長數組,非常適合初始時總長度未知的情況下使用。LinkedList的優勢在于在中間位置插入和刪除操作,速度是最快的。
LinkedList實現了List接口,允許null元素。此外LinkedList提供額外的get,remove,insert方法在LinkedList的首部或尾部。這些操作使LinkedList可被用作堆棧(stack),隊列(queue)或雙向隊列(deque)。
ArrayList實現了可變大小的數組。它允許所有元素,包括null。每個ArrayList實例都有一個容量(Capacity),即用于存儲元素的數組的大小。這個容量可隨著不斷添加新元素而自動增加,但是增長算法并沒有定義。當需要插入大量元素時,在插入前可以調用ensureCapacity方法來增加ArrayList的容量以提高插入效率。
6.Iterator和ListIterator的區別
●ListIterator有add()方法,可以向List中添加對象,而Iterator不能。
●ListIterator和Iterator都有hasNext()和next()方法,可以實現順序向后遍歷,但是ListIterator有hasPrevious()和previous()方法,可以實現逆向(順序向前)遍歷。Iterator就不可以。
●ListIterator可以定位當前的索引位置,nextIndex()和previousIndex()可以實現。Iterator沒有此功能。
●都可實現刪除對象,但是ListIterator可以實現對象的修改,set()方法可以實現。Iierator僅能遍歷,不能修改。
7.什么是CopyOnWriteArrayList,它與ArrayList有何不同?
CopyOnWriteArrayList是ArrayList的一個線程安全的變體,其中所有可變操作(add、set等等)都是通過對底層數組進行一次新的復制來實現的。相比較于ArrayList它的寫操作要慢一些,因為它需要實例的快照。
CopyOnWriteArrayList中寫操作需要大面積復制數組,所以性能肯定很差,但是讀操作因為操作的對象和寫操作不是同一個對象,讀之間也不需要加鎖,讀和寫之間的同步處理只是在寫完后通過一個簡單的'='將引用指向新的數組對象上來,這個幾乎不需要時間,這樣讀操作就很快很安全,適合在多線程里使用,絕對不會發生ConcurrentModificationException ,因此CopyOnWriteArrayList適合使用在讀操作遠遠大于寫操作的場景里,比如緩存。
8.迭代器和枚舉之間的區別
如果面試官問這個問題,那么他的意圖一定是讓你區分Iterator不同于Enumeration的兩個方面:
●Iterator允許移除從底層集合的元素。
●Iterator的方法名是標準化的。
9.Hashmap如何同步?
當我們需要一個同步的HashMap時,有兩種選擇:
●使用Collections.synchronizedMap(..)來同步HashMap。
●使用ConcurrentHashMap的
這兩個選項之間的首選是使用ConcurrentHashMap,這是因為我們不需要鎖定整個對象,以及通過ConcurrentHashMap分區地圖來獲得鎖。
10.IdentityHashMap和HashMap的區別
IdentityHashMap是Map接口的實現。不同于HashMap的,這里采用參考平等。
●在HashMap中如果兩個元素是相等的,則key1.equals(key2)
●在IdentityHashMap中如果兩個元素是相等的,則key1 == key2
BAT需要怎樣的技術人員,2020學Java能賺多少錢,如果你了解了這些,高薪就不遠了。
 
相關新聞

濟南華育學員:沒有華育就沒有我們的今天!

濟南華育快訊:近日,剛剛就業不久的17-0910Java班學員代表李鑫銘與同學孔杰、孫磊、楊林一起來到濟南華育

2018年01月05日

濟南華育705網絡營銷班畢業啦

濟南學網絡營銷課程 就到濟南華育IT

2018年01月08日

10個經典Java 集合面試題!

這里有10個經典的Java面試題,也為大家列出了答案。這是Java開發人員面試經常容易遇到的問題,相信你了解和掌握之后一定會有所提高讓我們一

2020年05月26日

【卓訓華育分享】如何讓一個Java新手更快入門?

【卓訓華育分享】如何讓一個Java新手更快入門? 這部分首要適用于沒有做過Java工作的同學,包含一些在校生以及剛準備轉行Java的同學。

2020年05月25日

程序員薪資為什么這么高?背后有哪些原因?

程序員薪資為什么這么高?背后有哪些原因? 程序員這個職業,很長一段時間都被看成是普通技工,屬于工人階段。最大的感受是:這可能是人

2020年05月23日

未來優秀Java工程師將成為市場爭搶的資源

Java具有其他語言沒有的特性,比如:簡單易學:Java是一個面向對象的編程語言。它吸收了C++的許多優點,摒棄了C++里難以理解的多繼承、指針

2020年05月22日

熱點推薦
? ?
最新国产精品视频分类中文,玩偶姐姐精品视频在线观看,美女自慰福利国产免费,国产一区第四页,www zuirt cc,AV久久国产剧,91老司机福利影院,网红主播精品国产AV,国产日韩姐姐 亚洲日韩精品欧美一区二区一3p| 91色女视频福利拍拍拍| 暧暧的日本91大神| 亚洲自拍偷拍四区| 肛交下载1080P| 女同另类人妖在线播放| 偷拍 无码 视频| 91久久人人夜色一区二区精品| 葡京av片| 国产影视露点图| 国产免费无码在线精品超模巨乳| 玖玖爱在线免费录音| 13ppAV在线| 最新韩国主播蜜罐视频在线观看| 制服ol 国产| 亚洲网红女主播视频| 王一霏16v福利在线观看| 亚洲中日无码高清免费电影| 91色情网麻豆| 国产久久网红午夜福利| site:www.ltlimco.com| 日韩艳星一区| 巨乳系列-葡京热在线视频免费播放| 亚洲av无码澳门在线| 国产视频-3atv日本一本道高清免费无码AV视频在线播放不卡手机| 人妻 丝袜 制服 中文字幕电影| 倩倩精品国产| 国产精品裸体瑜伽老师| 136福利导航微拍在线| 国产剧情色| 宅男+pr社+无圣光| 自慰直播 ed2k| 韩国18禁mp4MV| 欧洲自慰紧身裤内喷水| 成人电影网麻豆传媒| 国产精品网红福利直播| 朱音唯中文字幕在线播放| 淫语乡村电影在线收看| 伊藤舞雪上司081在线观看| 黄色视频在线看国产剧| 91国产超自拍| http://www.ssgfoodhall.com http://www.laboutiquedellazo.com http://www.nemovitosti-exekuce.net http://www.robiteacher.net http://www.location-samoens-criou.com http://www.hanavat.com