我正在寻找最佳方法来检查一系列原始图是否包含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[]
阵列上进行两个嵌套环肯定会击败。
并且如果您有其他信息(例如,排序的数组,重复使用相同数组,典型的数组尺寸),则可能是可能的。