Есть иерархия классов или что-то в этом роде.
Для Queue и Map тоже самое. Зачем нужны эти второстепенные классы? Почему нельзя определить что-бы ArrayList реализовывал List? И самый главный вопрос, используются где нибудь в программировании эти второстепенные классы? Если что-то не понятно пишите в комментарии. P.S Сейчас Vector используется,или только Stack?
Зачем нужны эти второстепенные классы?
Для того чтобы классы более низкой иерархии создавались бы проще, имели бы меньше кода. Это абстрактные классы-каркасы, на которых строятся их раализации. Конечно, можно реализовать конкретные классы непосредственно от интерфейсов. Но это потребовало бы укрупнения классов-реализаций (чтобы добиться аналогичного функционала).
Все эти классы являются частью Java Collections Framework, цель которого дать максимальную гибкость в работе.
Где используются
Все эти "втростепенные" классы активно используются в Java SE для реализации различного функционала.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости