Trims the capacity of this ArrayList instance to be the list's current size. An application can use this operation to minimize the storage of an ArrayList instance.
Examples
package com.logicbig.example.arraylist;
import java.util.*;
public class TrimToSizeExample {
public static void main(String... args) { // Trim capacity to current size to save memory ArrayList<String> list = new ArrayList<>(100); list.add("One"); list.add("Two"); System.out.println("Before trim - Size: " + list.size()); list.trimToSize(); System.out.println("After trim - Size still: " + list.size()); } }
Output
Before trim - Size: 2 After trim - Size still: 2
JDK 25
package com.logicbig.example.arraylist;
import java.util.*;
public class TrimToSizeExample2 {
public static void main(String... args) { // After removing many elements, trim to save space ArrayList<Integer> numbers = new ArrayList<>(1000); for(int i = 0; i < 1000; i++) numbers.add(i); numbers.removeIf(n -> n % 2 == 0); // Remove even numbers System.out.println("After removal - Size: " + numbers.size()); numbers.trimToSize(); System.out.println("After trim - Memory optimized"); } }
Output
After removal - Size: 500 After trim - Memory optimized