LongStream filter(LongPredicate predicate) returns a stream consisting of the elements of this stream that match the given predicate. This is an intermediate operation. These operations are always lazy i.e, executing an intermediate operation such as filter() does not actually perform any filtering, but instead creates a new stream that, when traversed, contains the elements of the initial stream that match the given predicate.
Syntax :
LongStream filter(LongPredicate predicate)
Where, LongStream is a sequence of primitive long-valued elements.
LongPredicate represents a predicate (boolean-valued function)
of one long-valued argument and the function returns the new stream.
Example 1 : filter() method on LongStream.
import java.util.*;
import java.util.stream.LongStream;
class GFG {
public static void main(String[] args)
{
LongStream stream = LongStream.of(3L, 5L, 6L, 8L, 9L);
stream.filter(num -> num % 3 == 2 )
.forEach(System.out::println);
}
}
|
Output :
5
8
Example 2 : filter() method on LongStream.
import java.util.*;
import java.util.stream.LongStream;
class GFG {
public static void main(String[] args)
{
LongStream stream = LongStream.of(-2L, -1L, 0L, 1L, 2L);
stream.filter(num -> num > 0 )
.forEach(System.out::println);
}
}
|
Output :
1
2