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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。