Ответы выше велики, но я имею в виду другое. main()
Метод Java означает, что учащиеся сталкиваются с базовыми массивами очень рано, часто уже в первый день занятий. Зачем?
public static void main(String[] args)
Это первое, с чем вам придется иметь дело, чтобы написать Hello World и не только. (Я видел, что в некоторых курсах сначала используются обучающие IDE, такие как BlueJ, которые позволяют указывать и нажимать для запуска произвольных методов, но мы отложим их в сторону ...) Хотя, возможно, стоит потрудиться над некоторыми из Эти ключевые слова на какое-то время рано или поздно большинству учителей захочется их объяснить. Действительно, классический тестовый вопрос для начинающих состоит в том, чтобы попросить студентов объяснить значение каждого ключевого слова в базовой программе Hello World. И что мы находим как часть сигнатуры нашего основного метода? Массив (причина этого отчасти историческая. ArrayList не существовал в Java 1.0). Массивы являются частью этого базового набора знаний. Список нет.
Тем не менее, это не редкость, когда классы вводят ArrayList чуть позже в курс, особенно после того, как объекты и их использование были рассмотрены. Даже учебная программа AP Computer Science для Java включает в себя ArrayList (я знаю, что раньше, и Google, кажется, указывает, что он все еще делает), хотя он игнорирует тот факт, что ArrayList реализует List и остальную часть Collections Framework.
Наконец, мой опыт показывает, что университетские CS-программы используют Java как средство для изучения CS и концепций программирования, а не для обучения студентов тому, как стать хорошими Java-разработчиками. Некоторые программы могут быть более сфокусированы на привлечении профессиональных разработчиков, в то время как другие больше фокусируются на теории, но в любом случае, есть много, чтобы узнать о том, как использовать Java в реальной профессиональной работе, которая не будет преподаваться в большинстве учебных программ колледжа. Это варьируется от шаблонов проектирования и методов, подобных тем, которые используются в Effective Java, до таких сред, как Spring, Hibernate или JUnit, или даже от более распространенных вещей, таких как JSP или JDBC. Учитывая эту философию, выделение массивов над более часто используемым ArrayList имеет немного больше смысла.