How do I create an empty Stream in Java?
In C# I would use Enumerable.Empty()
, but how do I create an empty Stream
in Java?
As simple as this: Stream.empty()
Stream<String> emptyStr = Stream.of();
emptyStr.count()
returns 0 (zero).
In addition:
- For a primitive stream like
IntStream
,IntStream.of()
works in similar way (also theempty
method).IntStream.of(new int[]{})
also returns an empty stream. - The
Arrays
class has stream creation methods which accept an array of primitives or an object type. This can be used to create an empty stream; e.g.,:System.out.println(Arrays.stream(new int[]{}).count());
prints zero. - Any stream created from a collection (like a
List
orSet
) with zero elements can return an empty stream; for example:new ArrayList<Integer>().stream()
returns an empty stream of typeInteger
.