1、java中哪一個(gè) List 實(shí)現(xiàn)了快插入?
linkedList 和 ArrayList 是另個(gè)不同變量列表的實(shí)現(xiàn)。
ArrayList 的優(yōu)勢(shì)在于動(dòng)態(tài)的增長(zhǎng)數(shù)組,非常適合初始時(shí)總長(zhǎng)度未知的情況下使用。
linkedList 的優(yōu)勢(shì)在于在中間位置插入和刪除操作,速度是快的。
linkedList 實(shí)現(xiàn)了 List 接口,允許 null 元素。
此外 linkedList 提供額外的 get,remove,insert 方法在 linkedList 的首部或尾部。
這些操作使 linkedList 可被用作堆棧 (stack),隊(duì)列 (queue) 或雙向隊(duì)列 (deque)。
ArrayList 實(shí)現(xiàn)了可變大小的數(shù)組。它允許所有元素,包括 null。
每個(gè) ArrayList 實(shí)例都有一個(gè)容量(Capacity),即用于存儲(chǔ)元素的數(shù)組的大小。
這個(gè)容量可隨著不斷添加新元素而自動(dòng)增加,但是增長(zhǎng)算法并沒(méi)有定義。
當(dāng)需要插入大量元素時(shí),在插入前可以調(diào)用 ensureCapacity 方法來(lái)增加 ArrayList 的容量以提高插入效率。
2、什么時(shí)候使用 ConcurrentHashMap?
ConcurrentHashMap 被作為故障安全迭代器的一個(gè)實(shí)例,它允許完整的并發(fā)檢索和更新。
當(dāng)有大量的并發(fā)更新時(shí),ConcurrentHashMap 此時(shí)可以被使用。
這非常類似于 Hashtable,但 ConcurrentHashMap 不鎖定整個(gè)表來(lái)提供并發(fā),所以從這點(diǎn)上 ConcurrentHashMap 的性能似乎更好一些。
所以當(dāng)有大量更新時(shí) ConcurrentHashMap 應(yīng)該被使用。
Java企業(yè)面試題“java中哪一個(gè) List 實(shí)現(xiàn)了快插入?”;“什么時(shí)候使用 ConcurrentHashMap?”希望對(duì)面試的小伙伴有所幫助,更多精彩內(nèi)容請(qǐng)關(guān)注天津卓眾教育java學(xué)院。