Ну, основная предпосылка "неправильна", поскольку Java включала класс Dictionary, поскольку до этого в языке существовали интерфейсы ...
Коллекции
предлагают списки, которые в некоторой степени похожи на массивы, но предлагают гораздо больше вещей, которых нет. Я предполагаю, что вы только что говорили о Списке (и даже Сете), и оставил бы Карту вне этого.
Да, можно получить те же функции, что и List и Set, с массивом, однако здесь много работы. Весь смысл библиотеки в том, что пользователям не нужно «накатывать» свои реализации общих вещей.
Если у вас есть единственная реализация, которую используют все, легче оправдать затраты на оптимизацию. Это означает, что когда стандартные коллекции ускоряются или сокращаются объемы памяти, все приложения, использующие их, получают улучшения бесплатно.
Единый интерфейс для каждой вещи также упрощает процесс обучения для каждого разработчика - не существует множества различных способов сделать одно и то же.
Если вы хотите иметь массив, который увеличивается со временем, вы, вероятно, не поместите код роста во все классы, а вместо этого напишите для этого один вспомогательный метод. То же самое для удаления и вставки и т.д ...
Кроме того, массивы плохо подходят для вставки / удаления, особенно если вы ожидаете, что элемент .length должен отражать фактическое количество содержимого, поэтому вы потратите огромное количество времени на увеличение и уменьшение массива. Массивы также не очень подходят для множеств, так как вам придется выполнять итерацию по всему массиву каждый раз, когда вы хотите выполнить вставку, чтобы проверить наличие дубликатов. Это убило бы любую предполагаемую эффективность.