Java ArrayList trimToSize ()

Метод 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 не видна пользователю.

Интересные статьи...