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() всё не так очевидно).
Тут надо знать о таком утверждении в логике, как "бессодержательная истина", которая утверждает, что все элементы пустого множества соответствуют условию. Ведь вы не можете указать тот элемент, который не соответствует.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости