我有两个整数值'a'和'b'
我还有一个名为'keys'的int [] []。它包含数字值,例如{0,1}和{1,2}
如何查看“键”是否包含a,b的组合?
到目前为止,我已经尝试过:
if (keys.contains({a, b}){
break;
}
以上内容使我在{a,b}处出现了非法的表达式开始错误
答案 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
}
}