How to Find Sum of Matrix Elements in Java?


In Java, Array is an object. It is a non-primitive data type which stores values of similar data type. The matrix in java is nothing but a multi-dimensional array which represents multiple rows and columns.

Here we have given a matrix which contains set of elements and as per the problem statement we have to find out the sum of all the elements present inside the matrix.

Let’s deep dive into this article, to know how it can be done by using Java programming language.

To show you some instances

Instance-1

Given matrix =

21 	22	23
24	25	26
27	28	29
  • Sum of elements of the above matrix = 315

Instance-2

Given matrix =

121 	222	243	432
124	245	256	657
237	258	229	345
176	453	756	343
  • Sum of elements of the above matrix = 4194

Instance-3

Given matrix =

1 	2	3
4	5	6
7	8	9
  • Sum of elements of the above matrix = 45

Algorithm

Algorithm-1

  • Step-1 − A 2D matrix is declared.

  • Step-2 − The user defined method is called to find the sum of all elements in the matrix.

  • Step-3 − The method uses two nested loops to iterate over each element in the matrix and add the value of the current element to a running total.

  • Step-4 − The method returns the sum of all elements in the matrix.

Algorithm-2

  • Step-1 − A 2D matrix is declared.

  • Step-2 − The user defined method is called to find the sum of all elements in the matrix.

  • Step-3 − The method uses Arrays.stream to convert the 2D matrix into a 1D stream of elements and forEach to add the value of each element to a running total.

  • Step-4 − The method returns the sum of all elements in the matrix.

Algorithm-3

  • Step-1 − A 2D matrix is declared.

  • Step-2 − The user defined method is called to find the sum of all elements in the matrix.

  • Step-3 − The method uses the Stream API to convert the 2D matrix into a 1D stream of elements and reduce to find the sum of all elements in the stream.

  • Step-4 − The method returns the sum of all elements in the matrix.

Syntax

To get the length of an array (number of elements in that array), there is an inbuilt property of array i.e length

Below refers to the syntax of it −

array.length

where, ‘array’ refers to the array reference.

Multiple Approaches

We have provided the solution in different approaches.

  • Using Nested Loop

  • Using Stream API

  • Using Arrays.stream and flatMap:

Let’s see the program along with its output one by one.

Approach-1: By Using Nested Loop

In this approach, matrix elements will be initialized in the program. Then call a user defined method by passing the array as parameter and inside method as per the algorithm using nested loop calculates the sum of the elements of given matrix.

Example

public class Main {
   public static void main(String[] args) {
      
      // declare and initialize the 2D matrix
      int[][] inputMatrix = {{10, 20, 30}, {40, 50, 60}, {70, 80, 90}};
      
      // Call the user-defined method to get the sum of all elements
      int sum = sumOfMatElmt(inputMatrix);
      
      // Print the result
      System.out.println("Sum of matrix elements: " + sum);
   }
   
   //user-defined method to find the sum of the elements
   public static int sumOfMatElmt(int[][] mat) {
      
      // declare and initialize the sum variable
      int sum = 0;
      for (int i = 0; i < mat.length; i++) {
         
         // initiate the looping over each column of the current row
         for (int j = 0; j < mat[i].length; j++) {
            
            // Add the current element to the sum
            sum += mat[i][j];
         }
      }
      
      // Return the result
      return sum;
   }
}

Output

Sum of matrix elements: 450

Approach-2: By Using Stream API

In this approach, matrix elements will be initialized in the program. Then call a user defined method by passing the array as parameter and inside method as per the algorithm using stream API calculates the sum of the elements of given matrix.

Example

import java.util.stream.IntStream;
public class Main {
   public static void main(String[] args) {
      
      // declare and Initialize the 2D matrix
      int[][] inputMatrix = {{11, 22, 33}, {44, 55, 66}, {77, 88, 99}};
      
      // Call the sumOfMatrixElements method to get the sum of all elements
      int sum = sumOfMatElmnt(inputMatrix);
      
      // Print the result
      System.out.println("Sum of matrix elements: " + sum);
   }
   public static int sumOfMatElmnt(int[][] mat) {
      
      // Create an IntStream for each row of the matrix
      // and use map to get the sum of each row
      // Finally, use sum method to get the sum of all rows
      return IntStream.range(0, mat.length)
         .map(i -> IntStream.of(mat[i]).sum())
         .sum();
   }
}

Output

Sum of matrix elements: 495

Approach-3: By Using Arrays.stream and flatMap

In this approach, matrix elements will be initialized in the program. Then call a user defined method by passing the array as parameter and inside method as per the algorithm using Arrays.stream and flatMap calculates the sum of the elements of given matrix.

Example

import java.util.Arrays;
import java.util.stream.IntStream;
public class Main {
   public static void main(String[] args) {
      
      // Declare a 2D matrix
      int[][] matrix = {{12, 23, 34}, {45, 56, 67}, {78, 89, 90}};
      
      // Call the calculateSumOfElements method to find the sum of all elements
      int sum = calculateSumOfElements(matrix);
      
      // Print the result
      System.out.println("The sum of all elements in the matrix is: " + sum);
   }
   public static int calculateSumOfElements(int[][] matrix) {
      
      // Use Arrays.stream and flatMap to convert the 2D matrix into a 1D stream of elements
      return Arrays.stream(matrix)
         .flatMapToInt(IntStream::of)
         .sum();
   }
}

Output

The sum of all elements in the matrix is: 494

In this article, we explored different approaches to find sum of matrix by using Java programming language.

Updated on: 04-May-2023

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements