📅  最后修改于: 2023-12-03 15:01:55.154000             🧑  作者: Mango
LongStream allMatch()
是 Java 8 中新增的一个方法,用于判断所有的元素是否都满足某个条件。如果所有元素都满足,则返回 true
,否则返回 false
。该方法适用于 long
类型的流。
下面是一个示例代码:
long[] numbers = {1L, 2L, 3L, 4L, 5L};
LongStream numberStream = Arrays.stream(numbers);
boolean isAllGreaterThanZero = numberStream.allMatch(n -> n > 0);
System.out.println("Are all numbers greater than 0: " + isAllGreaterThanZero);
在上面的代码中,首先定义了一个 long
类型数组 numbers
,然后通过 Arrays.stream()
方法将其转换成 LongStream
流。接着使用 allMatch()
方法判断所有元素是否都大于0,最后将结果输出。
运行结果为:
Are all numbers greater than 0: true
代码解析:
allMatch()
方法接受一个函数式接口 LongPredicate
的参数,用于判断元素是否满足某个条件。
在示例中,使用了 Lambda 表达式 n -> n > 0
作为参数传入,该表达式表示当元素大于0时返回 true
,否则返回 false
。
因为所有元素都大于0,所以返回结果为 true
。
总之,LongStream allMatch()
方法是一个方便的用于判断所有元素是否满足某个条件的方法,可以避免使用迭代器等低效率的方式进行判断。