Проверьте, существует ли только один элемент, используя Guava

Недавно мне понадобилось сделать «особый случай» сценарий, если в коллекции существует только один элемент. Проверка ...size() == 1и извлечение с помощью ...iterator.next()выглядели уродливо, поэтому я создал два метода в классе Home brew Collections :

public class Collections {
    public static  boolean isSingleValue(Collection values) {
        return values.size() == 1;
    }

    public static  T singleValue(Collection values) {
        Assert.isTrue(isSingleValue(values));
        return values.iterator().next();
    }
}

. Несколько дней назад я обнаружил, что в Guava есть метод с именем Iterables.getOnlyElement . Он покрывает мою потребность и заменяет singleValue, но я не могу найти соответствие для isSingleValue. Это по дизайну? Стоит ли размещать запрос функции для метода Iterables.isOnlyElement?

РЕДАКТИРОВАТЬ: Так как голосов было мало, я решил открыть улучшение по гуаве-выпуск 957 . Окончательное разрешение -«WontFix». Аргументы очень похожи на те, что предоставил Томас/Ксерксесс.

5
задан Petro Semeniuk 7 April 2012 в 17:00
поделиться