更新時間:2019-08-04 09:00:00 來源:動力節(jié)點 瀏覽3132次
1、java中哪一個 List 實現(xiàn)了快插入?
LinkedList 和 ArrayList 是另個不同變量列表的實現(xiàn)。
ArrayList 的優(yōu)勢在于動態(tài)的增長數(shù)組,非常適合初始時總長度未知的情況下使用。
LinkedList 的優(yōu)勢在于在中間位置插入和刪除操作,速度是快的。
LinkedList 實現(xiàn)了 List 接口,允許 null 元素。
此外 LinkedList 提供額外的 get,remove,insert 方法在 LinkedList 的首部或尾部。
這些操作使 LinkedList 可被用作堆棧 (stack),隊列 (queue) 或雙向隊列 (deque)。
ArrayList 實現(xiàn)了可變大小的數(shù)組。它允許所有元素,包括 null。
每個 ArrayList 實例都有一個容量(Capacity),即用于存儲元素的數(shù)組的大小。
這個容量可隨著不斷添加新元素而自動增加,但是增長算法并沒有定義。
當(dāng)需要插入大量元素時,在插入前可以調(diào)用 ensureCapacity 方法來增加 ArrayList 的容量以提高插入效率。
2、什么時候使用 ConcurrentHashMap?
ConcurrentHashMap 被作為故障安全迭代器的一個實例,它允許完整的并發(fā)檢索和更新。
當(dāng)有大量的并發(fā)更新時,ConcurrentHashMap 此時可以被使用。
這非常類似于 Hashtable,但 ConcurrentHashMap 不鎖定整個表來提供并發(fā),所以從這點上 ConcurrentHashMap 的性能似乎更好一些。
所以當(dāng)有大量更新時 ConcurrentHashMap 應(yīng)該被使用。
Java企業(yè)面試題“java中哪一個 List 實現(xiàn)了快插入?”;“什么時候使用 ConcurrentHashMap?”希望對面試的小伙伴有所幫助,更多精彩內(nèi)容請關(guān)注動力節(jié)點java學(xué)院。
相關(guān)閱讀
Java實驗班
0基礎(chǔ) 0學(xué)費 15天面授
Java就業(yè)班
有基礎(chǔ) 直達就業(yè)
Java夜校直播班
業(yè)余時間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)