Почему в стандартной библиотеке не существует класса, который реализует интерфейсы и List
? Связанный набор сохраняет порядок набора, но не разрешает произвольный доступ.Почему в java.util нет произвольного доступа
Почему это не считается полезным?
Почему в стандартной библиотеке не существует класса, который реализует интерфейсы и List
? Связанный набор сохраняет порядок набора, но не разрешает произвольный доступ.Почему в java.util нет произвольного доступа
Почему это не считается полезным?
Потому что это чрезвычайно сложно реализовать эффективно, для одного, по крайней мере, если вы поддерживаете удаление. Например, Guava ImmutableSet
поддерживает произвольный доступ через свой вид asList()
, но не поддерживает мутацию.
Потому что это невозможно сделать без расторжения договора Set
или List
. A Set
может не содержать дубликатов. Что произойдет, если вы используете контейнер как List
и попытаетесь добавить дубликат?
См. Также http://stackoverflow.com/questions/1035008/what-is-the-difference-between-set-and-list – Raedwald
Почему бы вам не написать один? Нет ничего удивительного в реализации существующих вещей - вы можете делать все, что они могут. –
См. Также http://stackoverflow.com/questions/7780813/java-combination-of-set-and-list-interfaces – Raedwald
Я знаю, что «теперь есть волшебство», и да, я могу и реализовал его сам. Этот вопрос не вызывает интереса. – benehsv