1. 程式人生 > >動手編寫—動態陣列(Java實現)

動手編寫—動態陣列(Java實現)

[TOC] ## 陣列基礎回顧 1、陣列是一種常見的資料結構,用來儲存同一型別值的集合 2、陣列就是儲存資料長度固定的容器,保證多個數據的資料型別要一致 3、陣列是一種順序儲存的線性表,所有元素的記憶體地址是連續的 4、例如:new 一個int基本型別的陣列array + ```java int[] array = new int[]{11,22,33}; ``` + ![在這裡插入圖片描述](//p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/dcbfe1c525c546fea421d43b9b42ca6c~tplv-k3u1fbpfcp-zoom-1.image) 5、陣列的優勢與劣勢 + 陣列具有很高的隨機訪問能力,通過陣列下標就可以讀取對應的值 + 陣列在插入與刪除元素時,會導致大量的元素移動 + 陣列的長度是固定的,無法動態擴容,在實際開發中,我們更希望陣列的容量是可以動態改變的 + 總結——陣列適用於讀操作多,寫操作少的場景 ## 自定義動態陣列 ### 動態陣列的設計 ```java /** * 元素的數量 */ protected int size; /** * 陣列所有元素及記憶體地址指向 */ private E[] elements; ``` 圖示結構: ![在這裡插入圖片描述](//p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6301410643de4324bb8a059b29dfc942~tplv-k3u1fbpfcp-zoom-1.image) ### 抽象父類介面設計 將動態陣列與連結串列共同的屬性與方法抽取出,作為抽象類,提高複用性 **抽象父類介面——`List`** ```java public interf