首頁 > Java > java教程 > 為什麼在指定初始大小時無法存取 ArrayList 中指派的空間?

為什麼在指定初始大小時無法存取 ArrayList 中指派的空間?

DDD
發布: 2024-11-03 15:25:30
原創
835 人瀏覽過

Why can't I access allocated spaces in an ArrayList when specifying an initial size?

了解ArrayList 容量與大小

問:如果指定了初始大小,為什麼最初無法存取為ArrayList 分配的空間?

答:這種混淆是由於誤解了ArrayList 的大小和容量之間的差異。

ArrayList 的大小表示它包含的元素數量,而容量表示最大元素數量在需要分配更多記憶體之前它可以容納的元素數量。設定初始容量可以透過為一定數量的元素預先分配空間來優化效能,但它不會自動用那麼多元素填滿清單。

例如,當您建立具有初始容量的 ArrayList 時為 10 時,清單最初為空,嘗試在索引 10 處新增元素將導致越界異常。

要為 ArrayList 新增元素,需要使用 add 方法,指定應插入元素的索引。如果你想用10 個元素填充列表,你可以使用循環:

for (int i = 0; i < 10; i++) {
  arr.add(0);
}
登入後複製

透過使用這種技術,你可以添加10 個元素,然後在索引0 到9 處操作它們,而不會出現邊界問題。

以上是為什麼在指定初始大小時無法存取 ArrayList 中指派的空間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板