最快的阵列比较

Jos*_*h K 1 java arrays comparison data-structures

我有两个独特值的排序数组(可以是ArrayLists,Collections或任何其他数据格式).比较它们的最快方法是什么?目标是删除两个列表中存在的所有值.

从...开始:

int [] a = {1, 2, 3, 4, 5};
int [] b = {1, 2, 3, 6, 7};
Run Code Online (Sandbox Code Playgroud)

结束于:

a = {4, 5}
b = {6, 7}
Run Code Online (Sandbox Code Playgroud)

NG.*_*NG. 9

MergeSort中使用合并步骤的修改版本

  • 获取每个数组的迭代器
  • 比较迭代器的值
  • 如果相等,则增加两者
  • 如果不相等,则将较小的值放入唯一值的数组中,并仅增加迭代器的值
  • 重复直到满足数组的结尾
  • 如果剩下的在其他数组中,那些是唯一的