1. 程式人生 > >深入理解ArrayList集合內部原理並自主封裝程式碼實現ArrayList集合功能

深入理解ArrayList集合內部原理並自主封裝程式碼實現ArrayList集合功能

集合框架是java基礎學習中非常重要的一部分,學會集合用法的同時去了解一下集合內部程式碼實現原理對我們日後的java學習的幫助是十分大的;我們現在來了解一下ArrayList原理:ArrayList內部其實就是封裝一個預設固定大小的物件陣列;不過陣列的大小是可動態改變的;當儲存一定的元素超出陣列原有大小時,此時list物件會動態建立一個容量更大的陣列,再將原有陣列內的元素複製到新陣列中去;這也就意味著當我們存數的元素數量越大時,建立新陣列需要複製元素個數也更多,這樣加大了記憶體動作的消耗,這樣我們便能理解為什麼ArrayList新增元素的效率不如其他集合效率的原因所在了. 現在我們來用自己的程式碼實現封裝一個ArrayList集合;掌握程式碼原理並瞭解程式碼的思想,聽說有人出去面試就遇見了自己寫一個集合程式碼的面試題 在這裡插入圖片描述

在這裡插入圖片描述

我封裝的集合程式碼經測試常用功能均能正常執行;不過我封裝集合方法程式碼遠遠沒有jdk原始碼那樣複雜,有興趣的小夥伴可以去檢視檢視ArrayList原始碼