Open In App

Check whether array has all identical elements using Arrays.asList() and HashSet in Java

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Given an array arr[] of N elements, the task is to check whether the array have all same (identical) elements or not without using the loop. If all elements are same then print Yes otherwise print No.

Examples:

Input: arr[] = {2, 2, 2, 2, 2}
Output: Yes
The given array has all identical elements i.e. 2.

Input: arr[] = {2, 3, 3, 3, 3, 2, 2}
Output: No

Approach: First, we check the size of array if the size of an array is 0 or 1 then the array is identical. If it’s size is > 1 then we take a set and copy all elements of an array in a set using Arrays.asList(). Then we calculate the size of the set, if the size of the set is 1, then the array has all identical elements otherwise not.

Below is the implementation of the above approach:




// Java implementation of the approach
import java.util.*;
  
class GFG {
  
    // Generic function to check whether the given array
    // has all identical element or not
    public static <T> void checkIdentical(T array[])
    {
  
        // Create the Set by passing the Array
        // as parameter in the constructor
        Set<T> set = new HashSet<>(Arrays.asList(array));
  
        // Check the size of set, f size is 0 or 1 then
        // array has only identical elements
        if (set.size() == 1 || set.isEmpty()) {
            System.out.print("Yes");
        }
        else {
            System.out.print("No");
        }
    }
  
    // Driver code
    public static void main(String args[])
    {
        Integer arr[] = { 2, 2, 2, 2, 2, 2 };
        checkIdentical(arr);
    }
}


Output:

Yes

Last Updated : 18 Jun, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads