如何检查数组a是否是java中数组b的一部分?

时间:2012-11-15 17:46:25

标签: java

  

可能重复:
  Check whether an array is a subset of another

我有数组a = { 1,4,3,5,1,2,3,6 }和数组b= { 1,2,3 }

如何检查数组b中数组a元素是否出现?任何帮助将不胜感激。感谢。

2 个答案:

答案 0 :(得分:5)

最简单的方法显然是使用内置函数。但是,Java只有内置函数才能为Collection类型执行此操作。如果数组不是基本类型,则可以执行以下操作:

if (Arrays.asList(a).containsAll(Arrays.asList(b))) {
   //...
}

如果它是原始数组(int[]等),这仍然是最简单的方法,您只需要手动或使用第三方库将数组转换为列表。 Guava has functions为此:

if ( Ints.asList(a).containsAll(Ints.asList(b)) ) {
   //...
}

答案 1 :(得分:2)

使用Apache Commons Lang

for (Object element:b) {
    if (ArrayUtils.contains(a,element) == false) return false;
}
return true;