我试图将两个列表相互比较。两个列表都有数万个条目。
到目前为止,我的想法是使用2个ArrayLists并逐个元素地比较它们。但是有人告诉我,比较太多可以摧毁日食。不知道这是不是真的。虽然比抱歉更安全。
如果您对比较成千上万的字符串有任何提示,请告诉我们。感谢。
答案 0 :(得分:0)
什么意思是“腐败的日食”?
但是不,如果你有两个arraylist并且你想知道它们是否相等,你必须比较所有变量,除非你找到差异或列表的结尾。复杂度为O(n)
- 线性 - 如果没有一些预处理(在最佳情况下本身为O(n)
),这是最好的。
答案 1 :(得分:0)
你必须比较两个数组中的每个元素,尝试对数组进行排序,然后使用for循环来运行它
答案 2 :(得分:0)
如果您要比较2个数字,预期输出可以是 - - >首先大于第二 - >首先不到第二 - >首先等于第二个
但是,比较2个列表是什么意思?你打算比较两个名单的长度吗?如果是这样,您将获得两个列表的大小并进行比较。
如果要将列表中的每个元素与每个其他元素进行比较,则表示您尝试对列表进行排序。如果您打算使用2个列表执行相同的操作,则可能意味着您正在尝试合并 - 对两个列表进行排序。这意味着,您将按排序顺序创建包含两个列表的所有元素的列表。
以下视频可帮助您了解合并排序。 https://www.youtube.com/watch?v=EeQ8pwjQxTM
此代码的平均时间复杂度为O(n log n)。对于具有数万个元素的列表,该算法将具有相当大的时间复杂度,但是eclipse不会损坏。最糟糕的情况是,如果您的代码编写不正确,内存泄漏可能会导致JVM出现问题。
我希望我的回答可以帮到你。如果您的问题更清晰,更具体,我可能会以更好的方式帮助您。