Я уверен, что есть веская причина, но кто-то может объяснить, почему в интерфейсе java.util.Set
отсутствует get(int Index)
или какой-либо подобный метод get()
?
Кажется, что наборы отлично подходят для размещения вещей, но я не могу найти элегантный способ извлечь из него один предмет.
Если я знаю, что хочу первый элемент, я могу использовать set.iterator().next()
, но в противном случае мне кажется, что я должен привести к массиву, чтобы получить элемент по определенному индексу?
Каковы подходящие способы извлечения данных из набора? (кроме использования итератора)
Я уверен, что тот факт, что он исключен из API, означает, что есть веская причина не делать этого - может кто-нибудь, пожалуйста, просветите меня?
EDIT:
Некоторые очень хорошие ответы здесь, а некоторые говорят «больше контекста». Конкретным сценарием был тест dbUnit, в котором я мог разумно утверждать, что возвращенный набор из запроса имел только 1 элемент, и я пытался получить доступ к этому элементу.
Однако вопрос более актуален без сценария, поскольку он остается более сфокусированным:
В чем разница между множеством и списком .
Спасибо всем за фантастические ответы ниже.