0

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

我来自 python,你可以在其中使用if i is in n,但我没有看到任何与 Jave 类似的方法。我已经阅读并看到有不止一种方法,但它们需要超过 6 行以上的代码。我想知道是否有更短的方法来完成这么简单的事情?

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

4

3 回答 3

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
于 2012-11-26T11:49:37.007 回答
1

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

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

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

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

希望对你有帮助...

于 2012-11-26T11:48:39.507 回答
0

Java 支持一种foreach: http: //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
}
于 2012-11-26T11:47:26.743 回答