查看int [] []是否包含特定值

时间:2019-02-24 19:59:50

标签: java

我有两个整数值'a'和'b'

我还有一个名为'keys'的int [] []。它包含数字值,例如{0,1}和{1,2}

如何查看“键”是否包含a,b的组合?

到目前为止,我已经尝试过:

if (keys.contains({a, b}){
    break;
}

以上内容使我在{a,b}处出现了非法的表达式开始错误

3 个答案:

答案 0 :(得分:3)

我建议将int[][]转换为List<List<Integer>>,然后您可以使用contains方法检查组合

int[][] arr = {{1,2},{3,4}};

    List<Integer> check = Arrays.asList(1,2);

    List<List<Integer>> keys = Arrays.stream(arr)
                               .map(i->Arrays.stream(i).boxed().collect(Collectors.toList()))
                               .collect(Collectors.toList());  //[[1, 2], [3, 4]]

    System.out.println(keys.contains(check));     //true

答案 1 :(得分:1)

public boolean contains(int a, int b, int[][] keys)
{
    for (int i = 0; i < keys.length; i++)
    {
        if (keys[i][0] == a && keys[i][1] == b)
        {
            return true;
        }
    }

    return false;
}

答案 2 :(得分:0)

由于您的数组是2 * 2,因此可以检查匹配项。

        int a[][] = new int[100][100];
        int keyToCompare = 10;
        int valueToCompare = 20;
        for(int i = 0;i<a.length;i++){
            if(a[i][0] == keyToCompare && a[i][1] == valueToCompare ){
                  //match found
            }
        }
相关问题