Ответ 1
Попробуйте использовать anyMatch
выражения Lambda. Это гораздо лучший подход.
boolean idExists = tabPane.getTabs().stream()
.anyMatch(t -> t.getId().equals(idToCheck));
В частности, у меня есть TabPane, и я хотел бы знать, есть ли в нем элемент с определенным идентификатором.
Итак, я хотел бы сделать это с помощью выражения lambda в Java:
boolean idExists = false;
String idToCheck = "someId";
for (Tab t : tabPane.getTabs()){
if(t.getId().equals(idToCheck)) {
idExists = true;
}
}
Попробуйте использовать anyMatch
выражения Lambda. Это гораздо лучший подход.
boolean idExists = tabPane.getTabs().stream()
.anyMatch(t -> t.getId().equals(idToCheck));
Хотя принятый ответ верен, я добавлю более элегантную версию (по-моему):
boolean idExists = tabPane.getTabs().stream()
.map(Tab::getId)
.anyMatch(idToCheck::equals);
Не пренебрегайте использованием Stream # map(), которое позволяет сгладить структуру данных до применения Predicate
.