📌  相关文章
📜  数组中的所有元素是否相同?(1)

📅  最后修改于: 2023-12-03 14:54:59.795000             🧑  作者: Mango

判断数组中的所有元素是否相同

在开发中,我们有时需要判断一个数组中的所有元素是否相同。这个问题很常见,下面我们介绍几种实现方法。

方法一:循环比较每个元素

我们可以使用一个for循环,比较每个元素是否与第一个元素相同。如果有不同的元素,返回false。如果所有元素都相同,返回true。

public static boolean isAllElementsEqual(int[] arr){
    if(arr==null || arr.length<2){
        return true;
    }
    for(int i=1; i<arr.length; i++){
        if(arr[i]!=arr[0]){
            return false;
        }
    }
    return true;
}
方法二:使用Set去重

我们也可以使用Set去重后,判断是否只剩下一个元素。如果是,说明所有元素相同,返回true,否则返回false。

public static boolean isAllElementsEqual(int[] arr){
    if(arr==null || arr.length<2){
        return true;
    }
    Set<Integer> set = new HashSet<>();
    for(int i=0; i<arr.length; i++){
        set.add(arr[i]);
    }
    return set.size()==1;
}
方法三:使用Arrays工具类

我们可以使用Arrays工具类,把整个数组排序,然后比较首尾元素是否相同。如果是,说明所有元素相同,返回true,否则返回false。

public static boolean isAllElementsEqual(int[] arr){
    if(arr==null || arr.length<2){
        return true;
    }
    Arrays.sort(arr);
    return arr[0]==arr[arr.length-1];
}

以上就是三种实现方式,供程序员参考选择。