如何检查项目是否在数组中

时间:2012-11-26 11:41:59

标签: java

我正在编写一个接受数组的方法,检查数组中元素的负值是否存在,如果存在,则返回值(正数和负数)。

我来自python,你可以使用if i is in n,但我没有看到任何类似的方法与Jave。我已经阅读并看到有多种方法,但它们需要超过6行代码。我想知道是否有更简单的方法来解决这个问题?

我计划的算法是将i带入(数组), 乘以i*-1 = x
 如果x在数组中,则将其添加到在for循环结束时返回的Arraylist

3 个答案:

答案 0 :(得分:1)

您可以使用Arrays.binarySearch方法(Arrays一个calass和帮助方法来处理数组)

重要说明:在使用此方法之前,必须对数组进行排序!可以通过Arrays.sort(yourArray)

完成

所以你的代码看起来像这样

int index = Arrays.binarySearch(inArray, valueToFind)
//do smth with index or get item by index

希望这会对你有帮助......

答案 1 :(得分:1)

要在数组中查找元素:

Arrays.asList(myArray).contains(myElement);

请注意,这仅适用于非原始数组。对于原语,最好使用for-each循环:

int myElement = 12;
for(int myArrayElement : myArray) {
    if(myElement == myArrayElement) {
        // ...
    }
}

并将一个整数反转为负数:

int myElement = 123;
myElement = -myElement; // it is now -123

答案 2 :(得分:0)

Java支持某种foreachhttp://www.leepoint.net/notes-java/flow/loops/foreach.html

for (type var : arr) {
    body-of-loop, use 'var' for element
}

此外,数组有索引,您可以使用:

int i = 0;
for (i = 0; i < array.length; i++) {
   body-of-loop, use array[i] for element
}