Sobes.tech
Junior — Middle
89

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

კომპანიებმა სადაც სთხოვეს
Драйв Клик

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

sobes.tech AI

В Java класс ArrayList реализует динамический массив, который автоматически увеличивает свой размер при добавлении новых элементов, если текущая емкость заполнена.

Изначально ArrayList создается с некоторой емкостью (по умолчанию 10). Когда количество элементов достигает этой емкости, происходит увеличение размера внутреннего массива. В стандартной реализации размер увеличивается примерно на 50% от текущего (то есть новая емкость = старая емкость + старая емкость / 2).

Это позволяет сбалансировать затраты на копирование данных и использование памяти.

Пример:

ArrayList<Integer> list = new ArrayList<>();
// Добавляем элементы, когда размер достигнет 10, емкость увеличится примерно до 15
for (int i = 0; i < 20; i++) {
    list.add(i);
}