From 0acb74e3306c75af2c047546d6b7d8b2030b7fc9 Mon Sep 17 00:00:00 2001 From: Raghav Jha Date: Wed, 28 Mar 2018 19:48:48 +0530 Subject: [PATCH] BAEL-1576 Added implementation for finding sum in a boxed integer array --- .../java/com/baeldung/array/SumAndAverageInArray.java | 4 ++++ .../com/baeldung/array/SumAndAverageInArrayTest.java | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/core-java/src/main/java/com/baeldung/array/SumAndAverageInArray.java b/core-java/src/main/java/com/baeldung/array/SumAndAverageInArray.java index da64c5e9a7b8..49df5ba986f4 100644 --- a/core-java/src/main/java/com/baeldung/array/SumAndAverageInArray.java +++ b/core-java/src/main/java/com/baeldung/array/SumAndAverageInArray.java @@ -16,6 +16,10 @@ public static int findSumUsingStream(int[] array) { return Arrays.stream(array).sum(); } + public static int findSumUsingStream(Integer[] array) { + return Arrays.stream(array).mapToInt(Integer::intValue).sum(); + } + public static double findAverageWithoutUsingStream(int[] array) { int sum = findSumWithoutUsingStream(array); return (double) sum / array.length; diff --git a/core-java/src/test/java/com/baeldung/array/SumAndAverageInArrayTest.java b/core-java/src/test/java/com/baeldung/array/SumAndAverageInArrayTest.java index 5597dbd5423f..208075cb57aa 100644 --- a/core-java/src/test/java/com/baeldung/array/SumAndAverageInArrayTest.java +++ b/core-java/src/test/java/com/baeldung/array/SumAndAverageInArrayTest.java @@ -21,6 +21,15 @@ public void givenAnIntArray_whenUsingStream_thenFindSum() { Assert.assertEquals(expectedSumOfArray, actualSumOfArray); } + @Test + public void givenAnBoxedIntegerArray_whenUsingStream_thenFindSum() { + Integer[] array = new Integer[]{1, 3, 4, 8, 19, 20}; + int expectedSumOfArray = 55; + int actualSumOfArray = SumAndAverageInArray.findSumUsingStream(array); + + Assert.assertEquals(expectedSumOfArray, actualSumOfArray); + } + @Test public void givenAnIntArray_whenNotUsingStream_thenFindAverage() { int[] array = { 1, 3, 4, 8, 19, 20 };