In addition to
Stream, java.util.stream package also provide a set of primitive type Streams such as
LongStream. The primitive type streams are pretty similar with
Stream. In this post I will use the IntStream to illustrate how to use primitive type streams.
Create an IntStream
From integer array:
IntStream stream = IntStream.of(2, 4, 6, 1, 5, 9);
From a stream of Strings:
Stream<String> stream = Stream.of("abcd", "abcdef", "ab"); IntStream intStream = stream.map(s -> s.length()).mapToInt(Integer::new);
In addition to methods in Stream, IntStream also have more methods designed for manipulating integers. Here are some of them:
int max1 = stream.max().getAsInt(); int min1 = stream.min().getAsInt(); double average = stream.average().getAsDouble(); IntStream distinctStream = stream.distinct();
IntSummaryStatistics is a class for collecting statistics such as count, min, max, sum, and average.
IntSummaryStatistics iss = stream.summaryStatistics(); double average = iss.getAverage(); long count = iss.getCount(); int max = iss.getMax(); int min = iss.getMin(); long sum = iss.getSum();
<pre><code> String foo = "bar"; </code></pre>