Возможный дубликат:
Java: получить первый элемент из коллекции
В Java я часто встречаю коллекцию с одним единственным элементом, который мне нужно получить. Поскольку коллекции не гарантируют согласованного упорядочения, нет методов first()
или get(int index)
, поэтому мне нужно использовать довольно уродливые вещи, например:
public Integer sillyExample(Collection<Integer> collection){
if(collection.size()==1){
return collection.iterator().next();
}
return someCodeToDecideBetweenElements(collection);
}
Итак, как вы получаете единственный элемент? Я не могу поверить, что нет лучшего способа...
Обратите внимание: я не понимаю понятия "первый", я просто пытаюсь избежать создания итератора, когда знаю, что в нем есть только один элемент.
EDIT: Питер Вустер нашел очень похожий вопрос здесь. Я оставляю это открытым, потому что я не пытаюсь получить "первый" элемент, что подразумевает последовательный порядок, но элемент "один и единственный" после проверки того, что он действительно является единственным элементом.