In the previous article, we have seen Java Program to Check Diagonally Dominant Matrix
In this article we are going to see how we can write a program to find common element in all row of a given matrix.
Java Program to Print Common Elements in all Rows of a Matrix
A 3*3 Matrix is having 3 rows and 3 columns where this 3*3 represents the dimension of the matrix. Means there are 3*3 i.e. total 9 elements in a 3*3 Matrix.
Let’s understand it in more simpler way.
| A00 A01 A02 | Matrix A = | A10 A11 A12 | | A20 A21 A22 | 3*3
Matrix A
represents a 3*3 matrix.- ‘
A
‘ represents the matrix element - ‘
Aij
‘ represents the matrix element at it’s matrix position/index. - ‘
i
‘ represents the row index - ‘
j
‘ represents the column index - Means
A00=Aij
wherei=0
andj=0
,A01=aij
wherei=0
andj=1
and like this. - Here we have started
row
value from 0 andcolumn
value from 0.
Let’s see different ways to common element in all row of a given matrix.
Method-1: Java Program to Print Common Elements in all Rows of a Matrix By Static Initialization of Array Elements
Approach :
- Declare and Initialize a matrix.
- Define
ele
with elements as keys and their count asvalues
. - Insert all elements of first row into
ele
with 1 as their values. - For remaining rows, check presence of each element in
ele
. - If element is present in
ele
and its count is equal to ‘x
’, then increment its count by 1. - Print
ele
having common elements.
Program :
import java.util.*; import java.util.Map.Entry; public class Main { public static void main(String args[]) { int mat[][] = { { 1, 2, 3 },{ 4, 3, 1 },{ 1, 0, 3 } }; //Define ele with elements as keys and their count as values HashMap<Integer, Integer> ele = new HashMap<>(); //Insert all elements of first row into ele with 1 as their values for (int y = 0; y < 3; y++) ele.put(mat[0][y], 1); //For remaining rows, check presence of each element in ele for (int x = 1; x < 3; x++) for (int y = 0; y < 3 ; y++) //If element is present in ele and it's count is equal to 'x', //then increment its count by 1 if(ele.containsKey(mat[x][y]) && ele.get(mat[x][y]) == x) ele.put(mat[x][y], x+1); //Printing ele having common elements Set<Entry<Integer, Integer>> en = ele.entrySet(); System.out.println("Common Elements In All Rows : "); for (Entry<Integer, Integer> e : en) if (e.getValue() == 3) System.out.print(e.getKey() + " "); } }
Output: Common Elements In All Rows : 1 3
Method-2: Java Program to Print Common Elements in all Rows of a Matrix By Dynamic Initialization of Array Elements
Approach:
- Take user input of a matrix.
- Define
ele
with elements as keys and their count asvalues
. - Insert all elements of first row into
ele
with 1 as their values. - For remaining rows, check presence of each element in
ele
. - If element is present in
ele
and its count is equal to ‘x
’, then increment its count by 1. - Print
ele
having common elements.
Program:
import java.util.*; import java.util.Map.Entry; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); // Initializing the 3X3 matrix i.e. 2D array int mat[][] = new int[3][3]; int row, col ; // Taking matrix input System.out.println("\nEnter matrix elements"); for(row=0;row<3;row++) for(col=0;col<3;col++) mat[row][col] = sc.nextInt(); //Define ele with elements as keys and their count as values HashMap<Integer, Integer> ele = new HashMap<>(); //Insert all elements of first row into ele with 1 as their values for (int y = 0; y < 3; y++) ele.put(mat[0][y], 1); //For remaining rows, check presence of each element in ele for (int x = 1; x < 3; x++) for (int y = 0; y < 3 ; y++) //If element is present in ele and it's count is equal to 'x', //then increment its count by 1 if(ele.containsKey(mat[x][y]) && ele.get(mat[x][y]) == x) ele.put(mat[x][y], x+1); //Printing ele having common elements Set<Entry<Integer, Integer>> en = ele.entrySet(); System.out.println("Common Elements In All Rows : "); for (Entry<Integer, Integer> e : en) if (e.getValue() == 3) System.out.print(e.getKey() + " "); } }
Output: Enter matrix elements Common Elements In All Rows : 1 3
Beginners and experienced programmers can rely on these Best Java Programs Examples and code various basic and complex logics in the Java programming language with ease.
Related Java Programs: