在java中如何检查数组中是否有元素?

在java中如何检查数组中是否有元素?,java,arrays,Java,Arrays,在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");

在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 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; 
如果使用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; 

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中的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.arraysbinarySearch来为您进行搜索。

您必须自己进行搜索。如果对列表进行了排序,您可以使用java.util.arraysbinarySearch为您进行排序。

怎么了?编译器应该告诉您没有in关键字


通常,您会在此处使用循环进行搜索。如果对同一个列表有许多这样的检查,请对其进行排序,并使用java.util.array中的方法进行二进制搜索。

怎么了?编译器应该告诉您没有in关键字


通常,您会在此处使用循环进行搜索。如果对同一个列表有许多这样的检查,请对其进行排序,并使用java.util.Arrays中的方法进行二进制搜索。

可以使用ArrayList而不是使用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");
}

您可以使用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;
    }
}

您需要对数组进行迭代,比较每个元素,直到找到要查找的元素:

// 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;
    }
}

你为什么把int[]称为列表?它是一个数组,不是一个列表。List在Javadup中的意思是其他东西,为什么要将int[]称为List?它是一个数组,不是一个列表。列表在Javadup@Paŭlo中还有其他含义-感谢您的编辑。当我复制他的表情时,我绝对没有注意到“如果”。@Paŭlo-谢谢你的编辑。当我复制他的表达式时,我肯定没有注意到“if”。1不能在列表中包含原语。2是列表,不是列表。3不能实例化列表,因为它是接口而不是类。在这种情况下,您可能需要列表。Downvote已撤回。1不能在列表中包含原语。2是列表,不是列表。3不能实例化列表,因为它是接口而不是类。在这种情况下,您可能需要列表。否决票撤回。