理解初始化 ArrayList 大小的目的
Java ArrayList 類別提供了在建立時指定初始大小的彈性。但是,如果您無法立即存取分配的空間,那麼通常會令人困惑為什麼需要這樣做。這個問題深入探討了 ArrayList 的大小和容量之間的差異來澄清這個問題。
初始大小與容量
使用new ArrayList 初始化ArrayList 時
使用new ArrayList ArrayList>您不是定義它的大小,而是定義它的容量。容量是指 ArrayList 在無需重新分配其底層資料結構的情況下可以容納的元素數量。透過設定初始容量,您可以在新增元素時避免不必要的重新分配,從而優化效能。
加上元素
與您的假設相反, add(int index, Object element )確實向指定索引添加了一個元素。然而,這要求清單有足夠的容量來容納新元素。當您嘗試 arr.add(5, 10) 時,您會收到越界異常,因為 ArrayList 還沒有元素,導致容量為空。
範例:初始化並填充ArrayList
<code class="java">ArrayList<Integer> arr = new ArrayList<>(10); for (int i = 0; i < 10; i++) { arr.add(0); }</code>
要初始化容量為10 的ArrayList 並用元素填充它,可以使用循環:
現在,您可以修改或檢索索引處的元素0 到9,利用您定義的初始容量。 總之,為 ArrayList 設定初始容量有助於避免清單成長時的重新分配開銷,從而最佳化效能。雖然 ArrayList 的初始大小為零,但容量可確保有足夠的空間可有效容納後續元素。以上是如果無法立即存取已指派的空間,為什麼初始化 ArrayList 大小很重要?的詳細內容。更多資訊請關注PHP中文網其他相關文章!