Unlike the anyMatch( ) method that returns false when the stream is empty, the allMatch( ) and noneMatch( ) methods return true if the stream is empty!
Вопрос: Почему в одном случае при пустом стриме возвращается false а в остальных случаях true?
Просьба: Помочь понять логику, почему все именно так а не иначе.
anyMatch() не находит в пустом множестве "любой" элемент, удовлетворяющий заданному условию, отчего и возвращает false. Тут вроде всё понятно.
noneMatch() возвращает истину, так как ни один элемент в пустом множестве не может соответствовать условию. Тут тоже всё ясно.
А вот насчёт allMatch() всё не так очевидно).
Тут надо знать о таком утверждении в логике, как "бессодержательная истина", которая утверждает, что все элементы пустого множества соответствуют условию. Ведь вы не можете указать тот элемент, который не соответствует.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости