在Java中使用 Arrays.asList() 和 HashSet 检查数组是否具有所有相同的元素
给定一个包含N个元素的数组arr[] ,任务是在不使用循环的情况下检查数组是否具有所有相同(相同)的元素。如果所有元素都相同,则打印 Yes,否则打印 No。
例子:
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
方法:首先,我们检查数组的大小,如果数组的大小是 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