首頁  >  文章  >  Java  >  如果無法立即存取已指派的空間,為什麼初始化 ArrayList 大小很重要?

如果無法立即存取已指派的空間,為什麼初始化 ArrayList 大小很重要?

Barbara Streisand
Barbara Streisand原創
2024-11-02 12:12:03920瀏覽

Why Does Initializing ArrayList Size Matter If You Can't Access the Allocated Space Immediately?

理解初始化 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn