: , Integer.MAX_VALUE, , , , , , Integer.MIN_VALUE. - .
, , , -, ? , , , , .
, , , :
- Java 6:
BigInteger sum .add(). - Java 8:
long, .
, parallelStream() , , , stream().
, , , , - JVM, ..
, Java 8 Java 6, :
final BigInteger sum = BigInteger.ZERO;
list.stream()
.filter(n -> n.mod(new BigInteger("2")).equals(BigInteger.ZERO))
.forEach(n -> { sum = sum.add(n); });
Java 6, , sum , , .
, , Java 8, , , , :
Optional<BigInteger> sum = list.stream()
.filter(n -> n.mod(new BigInteger("2")).equals(BigInteger.ZERO))
.reduce((n1, n2) -> n1.add(n2));
System.out.println(sum.get());
reduce(), BinaryOperator<T>, BigInteger .
, , , , , Optional<T>.
, sum.isPresent(), , , , !list.isEmpty(), , , sum.get() .
, 1 :
- Java 6: 190 ~ 210 .
- Java 8 : 160 ~ 220 .
- Java 8, : 180 ~ 260 .
- Java 8, : 180 ~ 270 .
, , , , , .