Java LinkedHashMap的实现原理详解
1.??? LinkedHashSet概述:
???LinkedHashSet是具有可預知迭代順序的Set接口的哈希表和鏈接列表實現。此實現與HashSet的不同之處在于,后者維護著一個運行于所有條目的雙重鏈接列表。此鏈接列表定義了迭代順序,該迭代順序可為插入順序或是訪問順序。
???注意,此實現不是同步的。如果多個線程同時訪問鏈接的哈希Set,而其中至少一個線程修改了該Set,則它必須保持外部同步。
?
2.??? LinkedHashSet的實現:
???對于LinkedHashSet而言,它繼承與HashSet、又基于LinkedHashMap來實現的。
???LinkedHashSet底層使用LinkedHashMap來保存所有元素,它繼承與HashSet,其所有的方法操作上又與HashSet相同,因此LinkedHashSet?的實現上非常簡單,只提供了四個構造方法,并通過傳遞一個標識參數,調用父類的構造器,底層構造一個LinkedHashMap來實現,在相關操作上與父類HashSet的操作相同,直接調用父類HashSet的方法即可。LinkedHashSet的源代碼如下:
Java代碼??
???在父類HashSet中,專為LinkedHashSet提供的構造方法如下,該方法為包訪問權限,并未對外公開。
Java代碼??
????由上述源代碼可見,LinkedHashSet通過繼承HashSet,底層使用LinkedHashMap,以很簡單明了的方式來實現了其自身的所有功能。
轉自:http://zhangshixi.iteye.com/blog/673319
總結
以上是生活随笔為你收集整理的Java LinkedHashMap的实现原理详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java HashSet的实现原理详解
- 下一篇: 石竹茶的功效与作用、禁忌和食用方法