ArrayList 的实现原理
生活随笔
收集整理的這篇文章主要介紹了
ArrayList 的实现原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ArrayList ?是List接口的可變數組的實現。實現了所有可選列表的操作,并包括null值在內的所有元素。此類還提供了一些方法來操作內部用來存儲列表的數組大小。
ArrayList 的是實現:
對于ArrayList而言,他實現List接口、底層使用數組保存所有元素,其操作基本上是對數組的操作。
?
?
LinkedList ?實現了List接口,但是它執行和插入操作時比ArrayList更加高效,因為它是基于鏈表,基于鏈表也決定了它在隨機訪問方面要比ArrayList遜色一些。
除此之外,LinkedLis還提供一些可以使其作為棧、隊列、雙端隊列的方法,這些方法中彼此之間只是名稱的區別,以使得這些名字在等特定的上下文中顯得更加合適。、
?
?
?
ArrayList(訪問快速,修改慢)的底層使用的是數組存元素,數組的大小說是自增的,(插入元素,由于不知道數組容量,數組要復制到一個新的數組中,)。
LinkedList (改快查慢)的底層是鏈表,通過節點直接將元素連接起來,每個節點包含前后節點的引用和節點存儲的值,
當修改時,插入一個新的元素,只需要修改前后節點的引用關系即可,
但訪問是,要遍歷節點來定位,所以訪問速度慢。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/chengbao/p/4839196.html
總結
以上是生活随笔為你收集整理的ArrayList 的实现原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求职准备
- 下一篇: background意识(两)