📜  Java中的 ArrayList trimToSize() 示例(1)

📅  最后修改于: 2023-12-03 15:01:50.559000             🧑  作者: Mango

Java中的ArrayList trimToSize()方法

ArrayList是Java中常用的一种集合类,它可以自动扩容以适应元素个数的变化。但是,在某些情况下,当存储大量数据时,也可能会出现过多的内存使用情况。Java中的ArrayList类提供了trimToSize()方法以优化内存使用效率。

trimToSize()方法作用

trimToSize()方法可以将ArrayList容器的大小调整为当前所有元素所占用的空间大小,从而释放一定的内存空间。由于ArrayList类在添加和删除元素时,其容量可能会随着元素个数的改变而改变,而数组的内存分配是按照一段连续的空间分配的,使得分配的空间很有可能超过实际所需大小,trimToSize()方法就可以优化其内存使用效率,释放多余的空间。

trimToSize()方法语法

下面是ArrayList trimToSize()方法的语法:

public void trimToSize( )
trimToSize()方法示例

下面的示例可以更好地说明trimToSize()方法的使用:

import java.util.ArrayList;

public class ArrayListExample {
   public static void main(String args[]) {
      ArrayList<String> arrayList = new ArrayList<String>(30);
      arrayList.add("t");
      arrayList.add("y");
      arrayList.add("i");
      arrayList.add("j");

      System.out.println("存储的元素个数为: "+ arrayList.size());
      System.out.println("ArrayList容器的大小为: "+arrayList.capacity());

      arrayList.trimToSize();
      System.out.println("调用trimToSize方法后,ArrayList容器的大小为: "+arrayList.capacity());
   }
}

输出结果为:

存储的元素个数为: 4
ArrayList容器的大小为: 30
调用trimToSize方法后,ArrayList容器的大小为: 4

该示例创建一个容量为30的ArrayList容器,并向其中添加4个元素。然后通过调用trimToSize()方法将其大小调整为4,以适应所有元素占用的空间大小。最后输出容器的大小,可以看到其大小已经被优化为与元素数量一致了。

注意事项

调用trimToSize()方法并不一定总是能释放所有空间,这与ArrayList类的实现方式有关。当然,在很多情况下,trimToSize()方法确实可以优化内存使用。但是,如果在应用程序需要大量使用时应该考虑使用其他的数据结构,例如LinkedList,以加快应用程序的性能。