Close

Java 8 Streams - Stream.flatMapToLong Examples

Java 8 Streams Java Java API 


Interface:

java.util.stream.Stream

java.lang.AutoCloseableAutoCloseablejava.util.stream.BaseStreamBaseStreamjava.util.stream.StreamStreamLogicBig

Method:

LongStream flatMapToLong(Function<? super T,? extends LongStream> mapper)

Tlhis intermediate operation returns an LongStream consisting of the results of replacing each element of this stream with the contents of a mapped stream produced by applying the provided mapping function to each element.


Examples


package com.logicbig.example.stream;

import java.util.Arrays;
import java.util.List;
import java.util.stream.LongStream;

public class FlatMapToLongExample {

public static void main(String... args) {
List<List<String>> listOfLists = Arrays.asList(
Arrays.asList("1", "2"),
Arrays.asList("5", "6"),
Arrays.asList("3", "4")
);


LongStream longStream = listOfLists.stream()
.flatMapToLong(childList ->
childList.stream()
.mapToLong(Long::new));
long sum = longStream.peek(System.out::println)
.sum();
System.out.println("sum: " + sum);
}
}

Output

1
2
5
6
3
4
sum: 21




Using an array of arrays.

package com.logicbig.example.stream;

import java.util.Arrays;
import java.util.stream.LongStream;

public class FlatMapToLongExample2 {

public static void main(String... args) {
String[][] arrayOfArrays = {{"1", "2"}, {"5", "6"}, {"3", "4"}};


LongStream longStream = Arrays.stream(arrayOfArrays)
.flatMapToLong(childArray -> Arrays.stream(childArray)
.mapToLong(Integer::new));
long sum = longStream.peek(System.out::println)
.sum();
System.out.println("sum: " + sum);
}
}

Output

1
2
5
6
3
4
sum: 21




See Also