почему List при добавлении нового элемента увеличивает размер внутреннего массива именно в 2 раза, когда достигает его границы. Я тогда ничего не ответил. Решил сейчас поискать информацию на эту тему в интернете, но ничего не нашёл.
Кто-то знает ответ?
Чтобы динамически изменять кол-во элементов, которое он может хранить
Оптимизирует аллокацию памяти. Обычно когда ты добавляешь один элемент, часто сразу сразу нужно снова добавить что-то.
Ну вот так вот решили.
посмотри как растет дикшенери . тебе понравится)
это связано с алгоритмом аллокации в целом, т.к. новые массивы нужно как-то упаковать в фрагментированный хип. Есть целые исследования на эту тему
Обсуждают сегодня