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