📅  最后修改于: 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去重后,判断是否只剩下一个元素。如果是,说明所有元素相同,返回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工具类,把整个数组排序,然后比较首尾元素是否相同。如果是,说明所有元素相同,返回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];
}
以上就是三种实现方式,供程序员参考选择。