一个简单的Java代码,用于检查一个元素是否存在于数组中:
import java.util.Arrays;
public class Main {
static int[] numbers = {813, 907, 908, 909, 910};
public static void main(String[] args) {
int number = 907;
//Integer number = 907; // the same thing -- it's not found.
boolean b = Arrays.asList(numbers).contains(number);
System.out.println(b); // => false
}
}
1)为什么在数组中找不到907?
2) 如果有更好的方法,请继续分享您的知识。
更新:
据说asList
转换你的 int[]
进入List<int[]>
只有一个成员:原始列表。然而,我希望下面的代码给我 1,但它给了我 5:
System.out.println(Arrays.asList(numbers).size());
最佳答案
问题是 Arrays.asList(numbers)
没有按照你的想法去做。它正在转换您的 int[]
进入List<int[]>
只有一个成员:原始列表。
您可以进行简单的线性搜索,或者,如果您的 numbers
数组总是排序的,使用 Arrays.binarySearch(numbers, 907);
并测试结果是否为负(即未找到)。
关于java - 检查数组中是否存在元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17510664/