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

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

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

例子。

输入:arr[] = {2, 2, 2, 2, 2}

输出:是

给出的数组有所有相同的元素,即2。

输入:arr[] = {2, 3, 3, 3, 3, 2, 2}

输出:没有

建议:请先在 {IDE}上尝试你的方法,然后再继续解决

办法。首先,我们检查数组的大小,如果一个数组的大小是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 <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);
    }
}

输出:

Yes

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程