我正在编写一个采用数组的方法,检查数组中元素的负值是否存在,如果存在,则返回值(正数和负数)。
我来自 python,你可以在其中使用if i is in n
,但我没有看到任何与 Jave 类似的方法。我已经阅读并看到有不止一种方法,但它们需要超过 6 行以上的代码。我想知道是否有更短的方法来完成这么简单的事情?
我计划的算法是将 i 放入一个(数组)中, multiply i*-1 = x
。
如果 x 在数组中,则将其添加到Arraylist
在 for 循环结束时返回的an
我正在编写一个采用数组的方法,检查数组中元素的负值是否存在,如果存在,则返回值(正数和负数)。
我来自 python,你可以在其中使用if i is in n
,但我没有看到任何与 Jave 类似的方法。我已经阅读并看到有不止一种方法,但它们需要超过 6 行以上的代码。我想知道是否有更短的方法来完成这么简单的事情?
我计划的算法是将 i 放入一个(数组)中, multiply i*-1 = x
。
如果 x 在数组中,则将其添加到Arraylist
在 for 循环结束时返回的an
要在数组中查找元素:
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
您可以使用Arrays.binarySearch方法(Arrays一个带有帮助方法的 calass 来处理数组)
重要提示:数组必须在使用此方法之前进行排序!它可以通过Arrays.sort(yourArray)
所以你的代码看起来像这样
int index = Arrays.binarySearch(inArray, valueToFind)
//do smth with index or get item by index
希望对你有帮助...
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
}