Однажды, на собесе меня спросили интересный вопрос, который сейчас мне кажется очевидным, но в то время я напрягся, и даже не помню, выдал ли верный ответ или нет. Вопрос звучал так: Вот есть у нас необходимость иметь поддержку в миллион сущностей, может быльше, точное число неизвестно. Как сделать хранение и обработку этих сущностей наиболее эффективно? Перед тем как ответить, расскажу, чем обычный лист плох в этом плане. Все дело в количестве, и том, как объекты хранятся в динамических листах. Напомню, что лист - это массив внутри. По умолчанию, массива нет, он создается при первом добавлении элемента, первоначальная емкость - 4 записи. При внесении 5го элемента, создаётся новый массив в два раза больше первого и туда переносятся 4 старых объекта, плюс пятый. И так далее для 8, 16 и т.д. Каждый новый массив - это новая аллокация, удвоение объема. На малых объемах это незаметно, а вот когда выходим начисла с шестью нулями - тяжеловато. Но можно же создать массив с заданным объемом