检查一系列原始词是否包含另一个阵列中的所有原语



我正在寻找最佳方法来检查一系列原始图是否包含Java中另一个数组中的所有原始词。例如:

int[] a = new int[]{1,2};
int[] b = new int[]{1,2,3,4,5};
int[] c = new int[]{2,4,6};
containsAll(b, a); //true
containsAll(a, b); //false
containsAll(c, b); //false

其中包含的是一个函数,可以检查第一个参数是否有第二个参数!!!我不想在整数数组中转换我的int数组以使用以下方法:

Arrays.asList(a).containsAll(Arrays.asList(b))

因为我认为,如果阵列很大,那将是浪费性能!!!但是也许我错了,最好的解决方案是一个...您有任何想法吗?

java收集框架的containsAll()方法有效地进行了两个嵌套循环,因此您将使用Arrays.asList()浪费性能转换为ArrayList<Integer>Integer[],并使用containsAll()

在您的int[]阵列上进行两个嵌套环肯定会击败。

并且如果您有其他信息(例如,排序的数组,重复使用相同数组,典型的数组尺寸),则可能是可能的。

最新更新