可能重复:
检查一个数组是否是另一个数组的子集
我有数组a = { 1,4,3,5,1,2,3,6 }
和数组b= { 1,2,3 }
。
如何检查数组b
元素是否出现在数组中的任何位置a
?任何帮助将不胜感激。谢谢。
可能重复:
检查一个数组是否是另一个数组的子集
我有数组a = { 1,4,3,5,1,2,3,6 }
和数组b= { 1,2,3 }
。
如何检查数组b
元素是否出现在数组中的任何位置a
?任何帮助将不胜感激。谢谢。
最简单的方法显然是使用内置函数。但是,Java 只有内置函数来为Collection
类型执行此操作。如果数组不是原始类型,您可以这样做:
if (Arrays.asList(a).containsAll(Arrays.asList(b))) {
//...
}
如果它是原始数组(int[]
等),这仍然是最简单的方法,您只需手动将数组转换为列表或使用第三方库。 番石榴具有以下功能:
if ( Ints.asList(a).containsAll(Ints.asList(b)) ) {
//...
}
for (Object element:b) {
if (ArrayUtils.contains(a,element) == false) return false;
}
return true;