Java Stream 中的 forall 函数等效方法
在 Java Stream 中,可以使用以下函数来实现类似于 Scala 中的 forall 函数的功能:
allMatch(Predicate<T> predicate):该函数接受一个 Predicate 参数,并返回一个 boolean 值,表示 Stream 中的所有元素是否都满足给定的条件。
示例代码:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
boolean allEven = numbers.stream().allMatch(n -> n % 2 == 0);
System.out.println(allEven); // 输出 false
noneMatch(Predicate<T> predicate):该函数接受一个 Predicate 参数,并返回一个 boolean 值,表示 Stream 中的所有元素是否都不满足给定的条件。
示例代码:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
boolean noneNegative = numbers.stream().noneMatch(n -> n < 0);
System.out.println(noneNegative); // 输出 true
anyMatch(Predicate<T> predicate):该函数接受一个 Predicate 参数,并返回一个 boolean 值,表示 Stream 中的任意一个元素是否满足给定的条件。
示例代码:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
boolean anyEven = numbers.stream().anyMatch(n -> n % 2 == 0);
System.out.println(anyEven); // 输出 true
这些函数都是 Java Stream 中的终端操作,它们可以用来判断 Stream 中的元素是否满足某个条件。
原文地址: https://www.cveoy.top/t/topic/bR5M 著作权归作者所有。请勿转载和采集!