【发布时间】:2016-05-26 10:06:02
【问题描述】:
我在 Java 的数组中存储了数千个值。我想将每个值与数组中的每个其他值进行比较。
目前我正在使用两个嵌套循环进行比较。这种方法会导致堆空间内存错误。
以下是我目前正在使用的代码:
for(int i=0; i<arr.size(); i++)
{
for(int j=i+1; j<arr.size(); j++)
{
//CODE FOR COMPARING arr[i] and arr[j]
//performing some more operations here which contain loops and functions
}
}
比较如此大量的数据,哪种方法最有效?
编辑: 我正在使用 Eclipse 执行此操作。
ArrayList 是字符串类型。
我正在使用“.equals”进行比较
我还在循环中执行了一些更多的操作,这需要更多的内存。
我什至尝试在循环中放置一个打印计数,以了解循环执行了多少次。它已经执行了超过 32K 次。
【问题讨论】:
-
这取决于你要比较什么,以及arr的类型是什么。
-
另外,您要比较相等 (==) 还是比较哪个更大?
-
这如何使用比原始数组更多的内存?
-
起始数组是否有任何特殊属性,例如排序?
标签: java arrays algorithm data-structures