- when a transformation on a stream results in a stream of stream, we use flatMap to flatten the result back to a stream.
- There is also flatMapToInt, flatMapToDouble and flatMapToLong which yield IntStream, DoubleStream and LongStream respectively.
integer stream one to three
Stream<Integer> oneToThree = Stream.of(1, 2, 3);
integer stream one to two
Stream<Integer> oneToTwo = Stream.of(1, 2);
integer to stream function
integer to double stream function
USAGE
Function<Integer, Stream> integerToStreamFunction = i -> IntStream.range(i, 5).boxed();
integer to double stream function
Function<Integer, DoubleStream> integerToDoubleStreamFunction = i -> DoubleStream.of(i);
USAGE
log.info("verifying that flatMap operation flattens a stream of integer stream to an integer stream: ");
oneToThree.flatMap(number -> integerToStreamFunction.apply(number)).forEach(number -> log.info(number.toString()));
log.info("verifying that flatMapToDouble operation flattens a stream of integer stream to a double stream: ");
oneToTwo.flatMapToDouble(number -> integerToDoubleStreamFunction.apply(number))
.forEach(number -> log.info(""+number));
Comments
Post a comment