173 читали · 1 год назад
Java 99. Каково внутреннее строение ArrayList?
Внутреннее строение ArrayList в Java основано на массиве (array). Принцип работы заключается в создании массива определенной длины и последующей его заполнении элементами. Если массив становится недостаточно большим для хранения новых элементов, то создается новый массив большего размера и все элементы копируются в него. При этом, когда происходит добавление или удаление элементов из середины списка, все элементы после изменяемого сдвигаются вправо или влево соответственно. Класс ArrayList имеет...
110 читали · 1 год назад
Java 852. Как происходит удаление элементов из ArrayList? Как меняется в этом случае размер ArrayList?
Удаление элементов из ArrayList происходит за время O(n), где n - это размер списка. При удалении элемента из середины списка, все элементы после него смещаются на одну позицию влево для заполнения освободившейся ячейки. Это может быть затратно по времени, так как требуется копирование большого количества элементов. При удалении элемента из конца списка удаление происходит быстрее, так как нет необходимости копировать элементы. Однако, размер ArrayList не уменьшается автоматически. Размер списка остается тем же, что может привести к неэффективному использованию памяти...