📜  在Java中使用 Arrays.asList() 和 HashSet 检查数组是否具有所有相同的元素

📅  最后修改于: 2022-05-13 01:55:06.560000             🧑  作者: Mango

在Java中使用 Arrays.asList() 和 HashSet 检查数组是否具有所有相同的元素

给定一个包含N个元素的数组arr[] ,任务是在不使用循环的情况下检查数组是否具有所有相同(相同)的元素。如果所有元素都相同,则打印 Yes,否则打印 No。

例子:

方法:首先,我们检查数组的大小,如果数组的大小是 0 或 1,那么数组是相同的。如果它的大小> 1 ,那么我们使用 Arrays.asList() 获取一个集合并复制一个集合中的所有元素。然后我们计算集合的大小,如果集合的大小为1 ,则该数组具有所有相同的元素,否则不是。

下面是上述方法的实现:

// 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  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);
    }
}
输出:
Yes