How to count unique elements in the array using java?


The interface Set does not allow duplicate elements, therefore, create a set object and try to add each element to it using the add() method in case of repetition of elements this method returns false −

If you try to add all the elements of the array to a Set, it accepts only unique elements −

Example

import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class CountingUniqueElements {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter the size of the array that is to be created ::");
      
      int size = sc.nextInt();
      int count = 0;
      int[] myArray = new int[size];
      
      System.out.println("Enter the elements of the array ::");

      for(int i = 0; i<size; i++) {
         myArray[i] = sc.nextInt();
      }
      System.out.println("The array created is :: "+Arrays.toString(myArray));
      System.out.println("indices of duplicate elements in the array are elements :: ");
      Set set = new HashSet();

      for(int i = 0; i<myArray.length; i++) {
         if(set.add(myArray[i])) {
            count++;
            System.out.println("Index :: "+i+" Element :: "+myArray[i]);
         }
      }
   }
}

Output

Enter the size of the array that is to be created ::
6
Enter the elements of the array ::
45
45
45
69
32
69
The array created is :: [45, 45, 45, 69, 32, 69]
indices of duplicate elements in the array are elements ::
Index :: 0 Element :: 45
Index :: 3 Element :: 69
Index :: 4 Element :: 32

Updated on: 30-Jul-2019

682 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements