Java ArrayList trimToSize() 方法

trimToSize() 方法的语法是

arraylist.trimToSize();

在这里,arraylist对象ArrayList 类的一个 对象


trimToSize() 参数

trimToSize() 方法不接受任何参数。


trimToSize() 返回值

trimToSize() 方法不返回任何值。相反,它只改变 ArrayList 的容量。


示例 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。该 ArrayList 包含 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() 方法的这种工作方式对用户是不可见的。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战