更新時間:2022-10-10 10:08:45 來源:動力節(jié)點 瀏覽2076次
數(shù)組是固定大小的同質(zhì)數(shù)據(jù)結(jié)構(gòu)。數(shù)組的局限性在于它們的大小是固定的。這意味著我們必須在聲明數(shù)組時指定元素的數(shù)量。這里出現(xiàn)了一個問題,如果我們想要插入一個元素并且沒有更多空間留給新元素怎么辦?在這里,動態(tài)數(shù)組的概念應(yīng)運而生。它動態(tài)地擴展數(shù)組的大小。
動態(tài)數(shù)組是可變大小的
在Java中,ArrayList是一個可調(diào)整大小的實現(xiàn)。它實現(xiàn)了 List 接口,并提供了與列表操作相關(guān)的所有方法。動態(tài)數(shù)組的強度是:
快速查找
可變尺寸
緩存友好
在動態(tài)數(shù)組中,元素從數(shù)組的開頭連續(xù)存儲,剩余空間保持未使用。我們可以添加元素,直到保留的空間被完全消耗。當預(yù)留空間被消耗并需要添加一些元素時。在這種情況下,需要增加固定大小的數(shù)組的大小。請注意,在添加元素之前,我們分配了一個更大的數(shù)組,從數(shù)組中復(fù)制元素,并返回新創(chuàng)建的數(shù)組。
添加元素的另一種方法是首先創(chuàng)建一個函數(shù),該函數(shù)創(chuàng)建一個雙倍大小的新數(shù)組,復(fù)制舊數(shù)組中的所有元素,然后返回新數(shù)組。同樣,我們也可以縮小動態(tài)數(shù)組的大小。
動態(tài)數(shù)組的初始化會創(chuàng)建一個固定大小的數(shù)組。在下圖中,數(shù)組實現(xiàn)有 10 個索引。我們在數(shù)組中添加了五個元素?,F(xiàn)在,底層數(shù)組的長度為 5。因此,動態(tài)數(shù)組大小的長度為 5,容量為 10。動態(tài)數(shù)組跟蹤端點。

以上就是關(guān)于“Java動態(tài)數(shù)組的介紹”,大家如果對此比較感興趣,想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點的Java在線學(xué)習,里面的課程內(nèi)容由淺到深,細致全面,很適合沒有基礎(chǔ)的小伙伴學(xué)習,希望對大家能夠有所幫助。
相關(guān)閱讀