[英]How to check whether element is in the array in java?
如何检查元素是否在Java中的数组中?
int[] a = new int[5];
a[0] = 5;
a[1] = 2;
a[2] = 4;
a[3] = 12;
a[4] = 6;
int k = 2;
if (k in a) { // whats's wrong here?
System.out.println("Yes");
}
else {
System.out.println("No");
}
谢谢!
Java中的“ foreach”语法为:
for (int k : a) { // the ':' is your 'in'
if(k == 2){ // you'll have to check for the value explicitly
System.out.println("Yes");
}
}
您必须自己进行搜索。 如果列表已排序,则可以使用java.util.arrays#binarySearch
为您完成。
如果使用Java 1.5+
List<Integer> l1 = new ArrayList<Object>(); //build list
for ( Integer i : l1 ) { // java foreach operator
if ( i == test_value ) {
return true;
}
}
return false;
怎么了? 编译器应该说没有in
关键字。
通常,您将在此处使用循环进行搜索。 如果对同一列表有很多此类检查,请对其进行排序并使用二进制搜索(使用java.util.Arrays
的方法)。
除了使用数组,还可以使用ArrayList。 您可以执行以下操作
ArrayList list = new ArrayList();
list.add(5);
list.add(2);
list.add(4);
list.add(12);
list.add(6);
int k = 2;
if (list.contains(k) {
System.out.println("Yes");
}
else {
System.out.println("No");
}
您将需要遍历数组,比较每个元素,直到找到所需的元素:
// assuming array a that you defined.
int k = 2;
for(int i = 0; i < a.length; i++)
{
if(k == a[i])
{
System.out.println("Yes");
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.