Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java ArrayList trimToSize() 使用方法及示例

Java ArrayList 方法

Java ArrayList trimToSize()方法会修剪(设置)arraylist的容量,使其等于arraylist中的元素个数。

trimToSize()方法的语法为:

arraylist.trimToSize();

trimToSize()参数

trimToSize()方法不带任何参数

trimToSize()返回值

trimToSize()方法不返回任何值。而是,它仅更改arraylist的容量。

示例1:Java ArrayList trimToSize()

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        //创建 ArrayList
        ArrayList<String> languages = new ArrayList<>();

        //添加元素到 ArrayList
        languages.add("Java");
        languages.add("Python");
        languages.add("JavaScript");
        System.out.println("ArrayList: " + languages);

        // 修剪容量为 3
        languages.trimToSize();
        System.out.println("ArrayList的大小: " + languages.size());
    }
}

输出结果

ArrayList: [Java, Python, JavaScript]
ArrayList的大小: 3

在上面的示例中,我们创建了名为languages的ArrayList。arraylist包含3个元素。注意这一行,

languages.trimToSize();

在此,trimToSize()方法将arraylist的容量设置为等于languages(即3)中的元素数。

我们使用ArrayList size()方法来获取arraylist中的元素数。

注意:ArrayList trimToSize()方法的工作不可见。

ArrayList trimToSize()的优点

我们知道ArrayList的容量是动态变化的。那么使用ArrayList trimToSize()方法的好处是什么?

要了解 trimToSize() 方法的优势,我们需要知道ArrayList的工作原理。

在内部,ArrayList使用一个数组来存储它的所有元素。现在,在某个点,数组将被填满。当内部数组已满时,将创建一个容量为当前数组1.5倍的新数组。并且,所有元素都被移动到新的数组中。

例如,假设内部数组已满,我们仅需添加1个元素。 在这里,ArrayList将以相同的比例扩展(即前一个数组的1.5倍)。

在这种情况下,内部数组中会有一些未分配的空间。因此,trimToSize()方法将删除未分配的空间并更改arraylist的容量,使其等于arraylist中的元素数。

Java ArrayList 方法