Java教程

Java ArrayList trimToSize()

Java ArrayList trimToSize()

Java ArrayList trimToSize() 方法修剪(设置)arraylist 的容量等于arraylist 中元素的数量。
trimToSize() 方法的语法是:
arraylist.trimToSize();
这里, arraylistArrayList 类的对象。

trimToSize() 参数

trimToSize() 方法不带任何参数

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 的数组列表。 arraylist 包含 3 个元素。注意这一行,
languages.trimToSize();
此处, trimToSize() 方法将 arraylist 的容量设置为等于 languages 中元素的数量(即 3)。
我们使用了 ArrayList size() 方法来获取数组列表。

ArrayList trimToSize()的优点

我们知道 ArrayList的容量是动态变化的。那么使用ArrayList的trimToSize()方法有什么好处?
要了解 trimToSize()方法的优势,我们需要了解 ArrayList的工作原理。
在内部, ArrayList 使用一个数组来存储其所有元素。现在,在某个时候,数组将被填充。当内部阵列已满时,会创建一个新阵列,其容量是当前阵列的 1.5 倍。并且,所有元素都移动到新数组中。
例如,假设内部数组已满,我们只需要添加1 个元素。在这里, ArrayList 将以相同的比例扩展(即前一个数组的 1.5 倍)。
在这种情况下,内部数组中会有一些未分配的空间。因此, trimToSize() 方法移除了未分配的空间,并将 arraylist 的容量更改为等于 arraylist 中元素的数量。
ArrayList trimToSize() 方法的这种工作对用户是不可见的。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4