Java ArrayList trimToSize() 方法修剪(設置)arraylist 的容量等於arraylist 中的元素數。
用法:
arraylist.trimToSize();
這裏,arraylist
是ArrayList
類的對象。
參數:
trimToSize()
方法不帶任何參數
返回:
trimToSize()
方法不返回任何值。相反,它隻會改變數組列表的容量。
示例 1:Java ArrayList trimToSize()
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// create an ArrayList
ArrayList<String> languages = new ArrayList<>();
// add element to ArrayList
languages.add("Java");
languages.add("Python");
languages.add("JavaScript");
System.out.println("ArrayList: " + languages);
// trim capacity to 3
languages.trimToSize();
System.out.println("Size of ArrayList: " + languages.size());
}
}
輸出
ArrayList: [Java, Python, JavaScript] Size of ArrayList: 3
在上麵的示例中,我們創建了兩個名為 languages
的數組列表。數組列表包含 3 個元素。注意線,
languages.trimToSize();
在這裏,trimToSize()
方法將arraylist 的容量設置為等於languages
中的元素數(即3)。
我們使用了ArrayList size() 方法來獲取arraylist 中的元素數量。
ArrayList的優勢trimToSize()
我們知道,容量ArrayList
是動態變化的。所以使用 ArrayList trimToSize() 方法有什麽好處?
要了解 trimToSize()
方法的優勢,我們需要研究 ArrayList
的工作原理。
在內部,ArrayList
使用一個數組來存儲它的所有元素。現在,在某個時候,數組將被填充。當內部陣列已滿時,將創建一個新陣列,其容量是當前陣列的 1.5 倍。並且,所有元素都被移動到新數組中。
例如,假設內部數組已滿,我們隻需要添加1元素。在這裏,ArrayList
將以相同的比率擴展(即前一個數組的 1.5 倍)。
在這種情況下,內部數組中會有一些未分配的空間。因此,trimToSize()
方法刪除了未分配的空間並將arraylist 的容量更改為等於arraylist 中元素的數量。
ArrayList trimToSize()
方法的這種工作對用戶不可見。
相關用法
- Java ArrayList trimToSize()用法及代碼示例
- Java ArrayList toArray()用法及代碼示例
- Java ArrayList toString()用法及代碼示例
- Java ArrayList spliterator()用法及代碼示例
- Java ArrayList Iterator()用法及代碼示例
- Java ArrayList lastIndexOf()用法及代碼示例
- Java ArrayList forEach()用法及代碼示例
- Java ArrayList contains()用法及代碼示例
- Java ArrayList clone()用法及代碼示例
- Java ArrayList clear()用法及代碼示例
- Java ArrayList removeAll()用法及代碼示例
- Java ArrayList remove()用法及代碼示例
- Java ArrayList containsAll()用法及代碼示例
- Java ArrayList sort()用法及代碼示例
- Java ArrayList removeIf()用法及代碼示例
- Java ArrayList replaceAll()用法及代碼示例
- Java ArrayList get()用法及代碼示例
- Java ArrayList ensureCapacity()用法及代碼示例
- Java ArrayList iterator()用法及代碼示例
- Java ArrayList isEmpty()用法及代碼示例
注:本文由純淨天空篩選整理自 Java ArrayList trimToSize()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。