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

• Difficulty Level : Expert
• Last Updated : 18 Jun, 2019

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

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

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 approachimport java.util.*;  class GFG {      // Generic function to check whether the given array    // has all identical element or not    public static void checkIdentical(T array[])    {          // Create the Set by passing the Array        // as parameter in the constructor        Set 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
My Personal Notes arrow_drop_up