This is most common interview question in java now-a-days. There are many techniques to find duplicate elements in array in java like using Collections.frequency(). I am writing yet another solution which is much easier and fast.
Here an array of integers is having 10 integers and 1 and 8 are duplicate integers. You need to filter them out.
package com.howtodoinjava.interview; import java.util.HashSet; import java.util.Set; public class DuplicateInArray { public static void main(String[] args) { int[] array = {1,1,2,3,4,5,6,7,8,8}; Set<Integer> set = new HashSet<Integer>(); for(int i = 0; i < array.length ; i++) { //If same integer is already present then add method will return FALSE if(set.add(array[i]) == false) { System.out.println("Duplicate element found : " + array[i]); } } } } Output: Duplicate element found : 1 Duplicate element found : 8
In this solution, all you have to do is to iterate over array and all elements in a set one by one. If Set.add() method returns false then element is already present in set and thus it is duplicate.
Happy Learning !!
Leave a Reply