Начиная с класса бинов MyBean
с одним соответствующим свойством:
@Data
class MyBean {
private String myProperty;
}
Теперь у меня есть набор этих бинов Set<MyBean> mySet
, обычно с 0, 1 или 2 элементами.
Вопрос в том, как мне извлечь myProperty
из этого набора, если он равен для всех элементов, или же ноль.Предпочтительно в одной строке с усилием O (n).
Я нашел несколько примеров для определения логического значения, если все свойства равны.Но я хочу знать соответствующее свойство.
Есть ли что-нибудь умнее этого?
String uniqueProperty = mySet.stream().map(MyBean::getMyProperty).distinct().count() == 1
? mySet.stream().map(MyBean::getMyProperty).findAny().orElse(null)
: null;