Метод Java ArrayList trimToSize () обрезает (устанавливает) емкость arraylist, равную количеству элементов в arraylist.
Синтаксис trimToSize()
метода:
arraylist.trimToSize();
Здесь arrayylist - это объект ArrayList
класса.
trimToSize () Параметры
trimToSize()
Метод не принимает никаких параметров
trimToSize () Возвращаемое значение
trimToSize()
Метод не возвращает никакого значения. Скорее всего, это только меняет возможности исполнителя.
Пример 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()); ) )
Вывод
ArrayList: (Java, Python, JavaScript) Размер ArrayList: 3
В приведенном выше примере мы создали два массива с именами languages. Arraylist содержит 3 элемента. Обратите внимание на линию,
languages.trimToSize();
Здесь trimToSize()
метод устанавливает емкость arrayylist равной количеству элементов в языках (т.е. 3).
Мы использовали метод ArrayList size (), чтобы получить количество элементов в arrayylist.
Преимущество ArrayList trimToSize ()
Мы знаем, что емкость ArrayList
динамически изменяется. Так в чем же преимущество использования метода ArrayList trimToSize ()?
Чтобы понять преимущества trimToSize()
метода, нам нужно взглянуть на работу ArrayList
.
Внутренне ArrayList
использует массив для хранения всех своих элементов. Теперь в какой-то момент массив будет заполнен. Когда внутренний массив заполнен, создается новый массив, емкость которого в 1,5 раза превышает емкость текущего массива. И все элементы перемещаются в новый массив.
Например, предположим, что внутренний массив заполнен, и нам нужно добавить только 1 элемент. Здесь он ArrayList
будет расширяться с тем же соотношением (т.е. в 1,5 раза больше предыдущего массива).
В этом случае во внутреннем массиве останется неназначенное пространство. Следовательно, trimToSize()
метод удаляет неназначенное пространство и изменяет емкость arrayylist, равную количеству элементов в arraylist.
Эта работа trimToSize()
метода ArrayList не видна пользователю.