国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java中的ArrayList 、LinkedList詳解

2019-11-06 08:19:31
字體:
來源:轉載
供稿:網友

LinkedList:

 %20 %201、含有含參構造方法和無參構造方法(實現Collection的類都至少含有兩種構造方法)。

 %20 %202、實現了Deque、Queue接口,因此也可以作為堆棧、隊列使用。

 %20 %203、采用雙向循環鏈表保存對象(查詢效率低,但是增刪效率很高。適用于增刪動作的比較頻繁,查詢次數較少的元素管理集合)。

 %20  

ArrayList:

    1、含有含參構造方法和無參構造方法,無參構造方法構造的ArrayList的容量默認為10(實現Collection的類都至少含有兩種構造方法)。

    2、內部實現是基于內部數組Object[](因此查詢效率比較高,增刪動作的效率比較差,適用于查詢比較頻繁,增刪動作較少的元素管理的集合)。

    

共同點:

   1、 LinkedList和ArrayList都是線程不安全的,線程安全問題是由多個線程同時寫或同時讀寫同一個資源造成的。原因:

final void checkForComodification() { 

        if (modCount != expectedModCount)        throw new ConcurrentModificationException();     }

    代碼中,modCount記錄了LinkedList結構被修改的次數。Iterator初始化時,expectedModCount=modCount。任何通過Iterator修改LinkedList結構的行為都會同時更新expectedModCount和modCount,使這兩個值相等。通過LinkedList對象修改其結構的方法只更新modCount。所以假設有兩個線程A和B。A通過Iterator遍歷并修改LinkedList,而B,與此同時,通過對象修改其結構,那么Iterator的相關方法就會拋出異常。這是相對容易發現的由線程競爭造成的錯誤。

    避免安全問題,則使用同步機制:① 使用synchronized關鍵字。② List list = Collections.synchronizedList(new LinkedList(...));非常損耗性能。

2、實現了Serializable接口,因此它支持序列化,能夠通過序列化傳輸,實現了Cloneable接口,能被克隆。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莒南县| 方正县| 巧家县| 正定县| 西平县| 台东县| 巴里| 吉首市| 文水县| 台南市| 衡阳市| 淮北市| 高雄市| 丰镇市| 金溪县| 永年县| 马边| 神池县| 商都县| 多伦县| 新疆| 广平县| 墨竹工卡县| 安化县| 海宁市| 石狮市| 吉隆县| 固安县| 厦门市| 易门县| 滦平县| 昌图县| 原阳县| 雅江县| 安多县| 双桥区| 岢岚县| 漳浦县| 桓台县| 潞西市| 霍林郭勒市|