Sobes.tech
Junior — Middle
90

როგორ იცვლება ArrayList-ის მოცულობა ელემენტის წაშლის შემდეგ?

კომპანიებმა სადაც სთხოვეს
Альфа-БанкАльфа-Банк

პასუხი AI-სგან

sobes.tech AI

В классе ArrayList в Java емкость внутреннего массива не уменьшается автоматически после удаления элемента. Метод remove() удаляет элемент и сдвигает последующие элементы влево, но размер внутреннего массива (capacity) остается прежним, чтобы избежать затрат на частое перераспределение памяти.

Если нужно уменьшить емкость, можно вызвать метод trimToSize(), который уменьшит емкость до текущего размера списка.

Пример:

ArrayList<String> list = new ArrayList<>(100); // емкость 100
list.add("A");
list.add("B");
list.remove(0); // емкость останется 100
list.trimToSize(); // емкость уменьшится до текущего размера (1)