Java Programs 17: Java Program to Find Duplicate Elements in Each Row of 2D Array | Make Selenium Easy
Hello Programers,
Problem:
How to find duplicate values in each row of 2D array. For example , we have 2d array as below:
4 | 67 | 34 | 90 |
9 | 4 | 11 | 100 |
6 | 12 | 9 | 4 |
78 | 87 | 4 | 2 |
Output should be : 4 , Because 4 is common in each row.
Solution:
This was really brainstorming as I want to avoid multiple for loops to solve this problem. My logic to solve above problem is as below:
- I assume all elements in first row are duplicate elements i.e. exists in all rows.
- I store all elements of first row in a HashSet say firstRow. I used HashSet just to add only unique elements as a row can have duplicate elements as well.
- Now I take all elements of second row and store them in a different HashSet say secondRow.
- Now I take intersection of firstRow and secondRow. It will return me only elements which are common in both rows.
- If size of firstRow is zero, we will stop further iteration as it means there is no element which is common in all rows.
- If size of firstRow is not zero, repeat step 4 for next row i.e. 3rd row.
Understand logic in Pic:
Java Programs:
package Arrays;
import java.util.HashSet;
import java.util.Set;
public class DuplicateElementInRows {
public static void main(String[] args) {
// An input array
int arrayValues[][] = { { 4, 67, 34, 90 }, { 9, 4, 11, 100 }, { 6, 12, 9, 4 }, { 78, 87, 4, 2 } };
// A set to store expected duplicates
Set expectedDuplicates = new HashSet();
// To store next row elements
Set deleteRow = new HashSet();
boolean duplicates=true;
// Iteration starts from here
for (int i = 0; i
My name is Amod Mahajan and I am an IT employee with 4+ years of experience in Software testing and staying in Bengaluru. My area of interest is Automation testing. I started from basics and went throw so many selenium tutorials. Thanks to Mukesh Otwani as his tutorials are easy and cover basics to advance. I have habit of exploring concepts by deep diving. I used to make notes. I thought of sharing my knowledge through posts and now I am here. #KeepLearning #ShareLearning