Metóda Java ArrayList trimToSize () orezáva (nastavuje) kapacitu poľa rovnajúcu sa počtu prvkov v poli.
Syntax trimToSize()
metódy je:
arraylist.trimToSize();
Arraylist je tu objektom ArrayList
triedy.
parametre trimToSize ()
trimToSize()
Metóda nemá žiadne parametre
trimToSize () návratová hodnota
trimToSize()
Metóda nevracia žiadnu hodnotu. Skôr to iba zmení kapacitu poľa.
Príklad 1: Java ArrayList trimToSize ()
import java.util.ArrayList; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList 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()); ) )
Výkon
ArrayList: (Java, Python, JavaScript) Veľkosť ArrayList: 3
Vo vyššie uvedenom príklade sme vytvorili dva zoznamy polí pomenované jazyky. Arraylist obsahuje 3 prvky. Všimnite si riadok,
languages.trimToSize();
Tu trimToSize()
metóda nastavuje kapacitu poľa rovnakú ako počet prvkov v jazykoch (tj 3).
Na získanie počtu prvkov v zozname polí sme použili metódu ArrayList size ().
Výhoda ArrayList trimToSize ()
Vieme, že kapacita ArrayList
sa dynamicky mení. Takže to, čo je výhoda použitia metódy ArrayList trimToSize ()?
Aby sme pochopili výhodu trimToSize()
metódy, musíme sa pozrieť na jej fungovanie ArrayList
.
Interne ArrayList
používa pole na ukladanie všetkých jeho prvkov. Teraz bude pole v určitom okamihu vyplnené. Keď je interné pole plné, vytvorí sa nové pole s 1,5-krát väčšou kapacitou ako súčasné pole. A všetky prvky sa presunú do nového poľa.
Predpokladajme napríklad, že vnútorné pole je plné a musíme pridať iba 1 prvok. Tu ArrayList
sa rozbalí s rovnakým pomerom (tj 1,5-násobok predchádzajúceho poľa).
V takom prípade bude v internom poli nejaký nepriradený priestor. Preto, trimToSize()
spôsob odstráni nepriradené priestor a mení kapacitu ArrayList rovný počtu prvkov v ArrayList.
Toto fungovanie trimToSize()
metódy ArrayList nie je pre používateľa viditeľné.