РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
268 of 1163 menu

Метод trimToSize

Метод trimToSize уменьшает емкость динамического массива ArrayList до текущего количества элементов в нем. Метод не принимает параметров и не возвращает значения. После вызова метода внутренний массив будет иметь длину, равную размеру списка, что позволяет освободить неиспользуемую память.

Синтаксис

arrayList.trimToSize()

Пример

Давайте создадим список с запасом емкости и уменьшим ее до фактического размера:

import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(100); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); System.out.println("Размер списка: " + list.size()); list.trimToSize(); System.out.println("После trimToSize размер списка: " + list.size()); System.out.println("Содержимое списка: " + list); } }

Результат выполнения кода:

"Размер списка: 5" "После trimToSize размер списка: 5" "Содержимое списка: [1, 2, 3, 4, 5]"

Пример

Давайте рассмотрим ситуацию, когда после удаления элементов из списка остается большой объем неиспользуемой памяти:

import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(50); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("e"); System.out.println("Исходный список: " + list); list.remove("b"); list.remove("d"); System.out.println("После удаления: " + list); System.out.println("Размер списка: " + list.size()); list.trimToSize(); System.out.println("После trimToSize: " + list); System.out.println("Размер списка: " + list.size()); } }

Результат выполнения кода:

"Исходный список: [a, b, c, d, e]" "После удаления: [a, c, e]" "Размер списка: 3" "После trimToSize: [a, c, e]" "Размер списка: 3"

Пример

Давайте убедимся, что метод trimToSize не изменяет содержимое списка и его размер, а только оптимизирует внутреннюю емкость:

import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(1000); list.add(10); list.add(20); list.add(30); int sizeBefore = list.size(); list.trimToSize(); int sizeAfter = list.size(); System.out.println("Размер до: " + sizeBefore); System.out.println("Размер после: " + sizeAfter); System.out.println("Список: " + list); } }

Результат выполнения кода:

"Размер до: 3" "Размер после: 3" "Список: [10, 20, 30]"

Смотрите также

  • класс ArrayList,
    который представляет динамический массив
  • метод ensureCapacity,
    который увеличивает емкость списка
  • метод size,
    который возвращает количество элементов
  • метод isEmpty,
    который проверяет список на пустоту
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить