查找Java中是否存在数组内部的数字

时间:2012-12-06 04:10:09

标签: java

我有一个account_numbers数组。我正在从用户那里获取输入并尝试查看数组中是否存在输入。我一直在尝试在参数中使用for循环的if语句,但我觉得这有点过分。我错过了什么吗?

4 个答案:

答案 0 :(得分:2)

如果你仍想在不使用Lists的情况下遍历数组,可以使用for循环的这个基本结构:

boolean validInput = false;
for (int i = 0; i < account_numbers.length; i++) {
    if (account_numbers[i] == userInput) {
        validInput = true;
        break;
    }
}

答案 1 :(得分:2)

您可以使用Arrays实用程序类及其简单的BinarySearch算法:

Arrays.sort(array);  // must sort before next line
boolean found = Arrays.binarySearch(array, someValue) > -1;

答案 2 :(得分:1)

最简单的方法是将数组转换为列表并使用contains方法,如下所示:

    Long[] account_numbers = new Long[SIZE];//Your existing array

    //get the list from array
    List<Long> accountNumbers = Arrays.asList(account_numbers);

    //check the desired account exist or not
    Long accountToSearch= new Long("12345");
    if(accountNumbers.contains(accountToSearch)){
        //account exist
    }

答案 3 :(得分:0)

    Integer arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    int a = 7;
    boolean isThere = false;
    List<E> list = new ArrayList<>();
    list.addAll((Collection<? extends E>) Arrays.asList(arr));
              // enter array into the list
    if (list.contains(a)) {
        isThere = true;
    }

    System.out.println(isThere);