我有一个数组:
int tarningar[] = new int[5];
Run Code Online (Sandbox Code Playgroud)
这有数字.当所有数字都相同时,system.out.println('ok');
我怎样才能做到这一点?
小智 18
public class EqualArrayTest {
public static boolean isAllEqual(int[] a){
for(int i=1; i<a.length; i++){
if(a[0] != a[i]){
return false;
}
}
return true;
}
public static void main(String[] args){
System.out.println(isAllEqual(new int[]{2,2,2}));
System.out.println(isAllEqual(new int[]{2,2,1}));
}
}
Run Code Online (Sandbox Code Playgroud)
Bor*_*vić 15
boolean flag = true;
int first = tarningar[0];
for(int i = 1; i < 5 && flag; i++)
{
if (tarningar[i] != first) flag = false;
}
if (flag) System.out.println("ok");
Run Code Online (Sandbox Code Playgroud)
小智 9
与谷歌的番石榴:
boolean allEqual = Sets.newHashSet(Ints.asList(tarningar)).size() == 1;
Run Code Online (Sandbox Code Playgroud)
这是一个更简洁的 Java 8 流示例:
Arrays.stream(tarningar).distinct().count() == 1
Run Code Online (Sandbox Code Playgroud)
import java.util.Arrays;
/**
* Don't take it serious.
* But it works.
*/
public class Demo {
public static boolean isAllSame(int... numbers) {
int[] firstItemArray = new int[numbers.length];
Arrays.fill(firstItemArray, numbers[0]);
return Arrays.equals(numbers, firstItemArray);
}
public static void main(String[] args) {
System.out.println(isAllSame(1,1,1,1));
System.out.println(isAllSame(1,1,1,2));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39603 次 |
| 最近记录: |