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