Я не могу ссылаться на ссылку, но по своей конструкции реализации List
и Set
интерфейса Collection
в основном расширяемы Array
s. Так как Collections
по умолчанию предлагает методы для динамического добавления и удаления элементов в любой точке, чего нет у Array
, порядок вставки может не сохраняться.
Таким образом, поскольку существует больше методов для манипулирования контентом, существует необходимость в специальных реализациях, которые сохраняют порядок.
Другим моментом является производительность, поскольку наиболее эффективная Collection
может не соответствовать той, которая сохраняет порядок вставки. Однако я не уверен, как именно Collections
управляет их контентом для повышения производительности.
Итак, короче говоря, две основные причины, по которым я могу придумать, почему существуют реализации, поддерживающие порядок Collection
:
- Архитектура класса
- Производительность