trimToSize()
می خواهی کاهش ظرفیت ArrayList انجام دهی؟ متد trimToSize() ظرفیت اضافی را می بُرد. یعنی آرایه پشتیبان دقیقاً هم اندازه تعداد آیتم ها می شود. ظاهر لیست عوض نمی شود، اما حافظه اضافه آزاد می شود.
تعریف و کاربرد trimToSize()
متد trimToSize() ظرفیت لیست را دقیقاً برابر اندازه فعلی می کند. در آغاز، ArrayList معمولاً ظرفیت 10 آیتم دارد. حذف آیتم ها، ظرفیت را کم نمی کند. بنابراین، حافظه بلااستفاده می ماند. این متد آن بخش بلااستفاده را آزاد می کند.
نمونه کد و اجرای عملی
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
cars.trimToSize();
System.out.println(cars);
}
}
- لیست را بساز و مقدار بده.
- آیتم حذف شد؟ ظرفیت هنوز بالاست.
trimToSize()را صدا بزن.- حافظه مازاد آزاد می شود.
نکته: این کار فقط ظرفیت را تنظیم می کند؛ ترتیب و مقدار آیتم ها تغییر نمی کند.
سینتکس
public void trimToSize()
چه زمانی مفید است؟
وقتی لیست بزرگ ساخته ای، اما حالا آیتم ها کم شده اند. همچنین وقتی برنامه لیست های زیادی می سازد و حافظه مهم است.
لینک های مرتبط
اندازه لیست با size() را ببین تا تعداد عناصر را بسنجی.
تبدیل لیست به آرایه با toArray() را بخوان برای خروجی فشرده.
مرجع W3Schools: trimToSize() توضیحات و مثال را دارد.
مستندات Oracle: ArrayList.trimToSize() رفتار رسمی را نشان می دهد.
جمع بندی سریع
trimToSize()ظرفیت مازاد را حذف می کند.- تعداد آیتم ها دست نخورده می ماند.
- ظاهر خروجی تغییری ندارد.
- برای صرفه جویی حافظه عالی است.