Java Sum of Array
Calculate the total of all elements in an array efficiently
➕ What is Array Sum?
Array sum means adding all elements in an array to get a total. It's fundamental in programming for calculations, statistics, and data processing. Java offers multiple approaches for this operation.
// Simple array sum example
public class ArraySum {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
int sum = 0;
for (int number : numbers) {
sum += number;
}
System.out.println("Array: [10, 20, 30, 40, 50]");
System.out.println("Sum: " + sum);
}
}
Output:
Array: [10, 20, 30, 40, 50]
Sum: 150
Different Sum Methods
For Loop
Traditional index-based iteration
static int sumArray(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
Enhanced For
Cleaner syntax for array traversal
static int sumArray(int[] arr) {
int sum = 0;
for (int num : arr) {
sum += num;
}
return sum;
}
Stream API
Modern functional approach
import java.util.Arrays;
static int sumArray(int[] arr) {
return Arrays.stream(arr).sum();
}
Recursive
Divide and conquer approach
static int sumArray(int[] arr, int index) {
if (index >= arr.length) return 0;
return arr[index] + sumArray(arr, index + 1);
}
🔹 Complete Array Sum Program
Here's a comprehensive program demonstrating various array sum techniques:
import java.util.Arrays;
public class ArraySumComplete {
public static void main(String[] args) {
// Test arrays
int[] numbers1 = {1, 2, 3, 4, 5};
int[] numbers2 = {10, 25, 30, 45, 50, 75};
double[] decimals = {1.5, 2.5, 3.5, 4.5};
System.out.println("=== Array Sum Examples ===\n");
// Method 1: Traditional for loop
System.out.println("1. Traditional For Loop:");
System.out.println("Array: " + Arrays.toString(numbers1));
System.out.println("Sum: " + sumWithForLoop(numbers1));
// Method 2: Enhanced for loop
System.out.println("\n2. Enhanced For Loop:");
System.out.println("Array: " + Arrays.toString(numbers2));
System.out.println("Sum: " + sumWithEnhancedFor(numbers2));
// Method 3: Stream API
System.out.println("\n3. Stream API:");
System.out.println("Array: " + Arrays.toString(numbers1));
System.out.println("Sum: " + sumWithStream(numbers1));
// Method 4: Recursive
System.out.println("\n4. Recursive Method:");
System.out.println("Array: " + Arrays.toString(numbers2));
System.out.println("Sum: " + sumRecursive(numbers2, 0));
// Method 5: Double array
System.out.println("\n5. Double Array Sum:");
System.out.println("Array: " + Arrays.toString(decimals));
System.out.println("Sum: " + sumDoubleArray(decimals));
// Method 6: Array statistics
System.out.println("\n6. Array Statistics:");
printArrayStats(numbers2);
// Method 7: Conditional sum (even numbers only)
System.out.println("\n7. Sum of Even Numbers:");
System.out.println("Array: " + Arrays.toString(numbers2));
System.out.println("Even sum: " + sumEvenNumbers(numbers2));
}
// Method 1: Traditional for loop
static int sumWithForLoop(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
// Method 2: Enhanced for loop
static int sumWithEnhancedFor(int[] arr) {
int sum = 0;
for (int num : arr) {
sum += num;
}
return sum;
}
// Method 3: Stream API
static int sumWithStream(int[] arr) {
return Arrays.stream(arr).sum();
}
// Method 4: Recursive
static int sumRecursive(int[] arr, int index) {
if (index >= arr.length) {
return 0;
}
return arr[index] + sumRecursive(arr, index + 1);
}
// Method 5: Double array sum
static double sumDoubleArray(double[] arr) {
double sum = 0.0;
for (double num : arr) {
sum += num;
}
return sum;
}
// Method 6: Array statistics
static void printArrayStats(int[] arr) {
int sum = sumWithEnhancedFor(arr);
double average = (double) sum / arr.length;
int max = Arrays.stream(arr).max().orElse(0);
int min = Arrays.stream(arr).min().orElse(0);
System.out.println("Array: " + Arrays.toString(arr));
System.out.println("Sum: " + sum);
System.out.println("Average: " + String.format("%.2f", average));
System.out.println("Max: " + max);
System.out.println("Min: " + min);
}
// Method 7: Conditional sum (even numbers)
static int sumEvenNumbers(int[] arr) {
int sum = 0;
for (int num : arr) {
if (num % 2 == 0) {
sum += num;
}
}
return sum;
}
}
Output:
=== Array Sum Examples ===
1. Traditional For Loop:
Array: [1, 2, 3, 4, 5]
Sum: 15
2. Enhanced For Loop:
Array: [10, 25, 30, 45, 50, 75]
Sum: 235
5. Double Array Sum:
Array: [1.5, 2.5, 3.5, 4.5]
Sum: 12.0
7. Sum of Even Numbers:
Array: [10, 25, 30, 45, 50, 75]
Even sum: 90