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