我正在编写一个接受数组的方法,检查数组中元素的负值是否存在,如果存在,则返回值(正数和负数)。
我来自python,你可以使用if i is in n
,但我没有看到任何类似的方法与Jave。我已经阅读并看到有多种方法,但它们需要超过6行代码。我想知道是否有更简单的方法来解决这个问题?
我计划的算法是将i带入(数组),
乘以i*-1 = x
。
如果x在数组中,则将其添加到在for循环结束时返回的Arraylist
答案 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支持某种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
}