比较2个int数组中匹配的数字
大家好,有人建议用java比较两个数组的最快方法吗 返回交集数组的字符串 如果没有匹配项,则为“nil”值
static int [] WinnerNumbers; static int [] ClientNumbers;
在执行我的程序之后,我最终得到了两个填充数组(WinnerNumber和ClientNumber),我需要对其中的两个数组进行比较并返回匹配或null
我想通过一个函数来实现这一点
public static String WinnerChecker(){
prize = (......)
return prize;
}
# 1 楼答案
使用赢家数组创建一个集合。对于客户端的每个号码,请检查该号码是否存在于集合中
总体复杂度为O(N)
# 2 楼答案
我会这样做。如果没有交集,它将返回一个空字符串(我猜想您所说的
nil
)印刷品
如果两个数组中都有重复项,并且输出中不需要它们,则在
mapToObj
进程之前添加方法.distinct()
如果希望以数组的形式返回结果,下面的方法可以起作用
另一种可能比上述方法更有效的方法是使用集合
如果需要,可以返回实际的集合
# 3 楼答案
希望下面的代码对你有用
这里执行线性搜索操作来定位数字。您可以根据数组大小选择Java8流类或其他搜索算法。有关更多搜索算法,请参阅下面的链接。 https://www.geeksforgeeks.org/check-if-a-value-is-present-in-an-array-in-java/