package com.levelup.java.util.stream;
import static org.junit.Assert.assertEquals;
import java.util.OptionalInt;
import java.util.stream.IntStream;
import org.junit.Test;
/**
* This java example will demonstrate how to find the sum unique values from two
* IntStreams .
*
* @author Justin Musgrove
* @see <a href=
* 'http://www.leveluplunch.com/java/examples/sum-unique-values-two-intstream/'>S
* u m unique values of numeric streams</a>
*/
public class SumUniqueValsTwoIntStreams {
@Test
public void sum_unique_values_intstream() {
IntStream stream1 = IntStream.of(1, 2, 3);
IntStream stream2 = IntStream.of(1, 2, 3);
int val = IntStream.concat(stream1, stream2).distinct().sum();
assertEquals(6, val);
// or
IntStream stream3 = IntStream.of(1, 2, 3);
IntStream stream4 = IntStream.of(1, 2, 3);
OptionalInt sum2 = IntStream.concat(stream3, stream4).distinct()
.reduce((a, b) -> a + b);
assertEquals(6, sum2.getAsInt());
}
}