您好,登錄后才能下訂單哦!
本篇文章為大家展示了ArrayList和LinkedList底層實現原理是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1、說一下 ArrayList 底層實現方式?
①ArrayList 通過數組實現,一旦我們實例化 ArrayList 無參數構造函數默認為數組初始化長度為 10
②add 方法底層實現如果增加的元素個數超過了 10 個,那么 ArrayList 底層會新生成一個數組,長度為原數組的 1.5 倍+1,然后將原數組的內容復制到新數組當中,并且后續增加的內容都會放到新數組當中。當新數組無法容納增加的元素時,重復該過程。是一旦數組超出長度,就開始擴容數組。
擴容數組調用的方法
Arrays.copyOf(objArr, objArr.length + 1);
2、說一下 LinkedList 底層實現方式?
LinkedList 底層的數據結構是基于雙向循環鏈表的,且頭結點中不存放數據,如下:
既然是雙向鏈表,那么必定存在一種數據結構——我們可以稱之為節點,節點實例保存業務數據,前一個節點的位置信息和后一個節點位置信息,如下圖所示:
上述內容就是ArrayList和LinkedList底層實現原理是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。