对于有经验的程序员来说,这可能是一个微不足道的问题,但我想知道两种不同的传递变量方法之间是否存在显着的性能差异(收集大量或非常大量的数据)?
我已经进行了测试,但数据结构相当小,我没有看到任何显着差异。此外,我不确定这些差异是否不是由后台运行的其他应用程序的干扰引起的。
带集合的类:
public class TestCollection
{
ArrayList<String[]> myTestCollection = new ArrayList<String[]>();
public TestCollection()
{
fillCollection();
}
private void fillCollection()
{
// here is fillng with big amount of data
}
public ArrayList<String[]> getI()
{
return myTestCollection;
}
}
以及对集合进行操作的方法:
public class Test
{
static TestCollection tc = new TestCollection();
public static void main(String[] args)
{
new Test().approach_1(tc);
new Test().approach_2(tc.getI());
}
public void approach_1(TestCollection t)
{
for (int i = 0; i < tc.getI().size(); i++)
{
// some actions with collection using tc.getI().DOSOMETHING
}
}
public void approach_2(ArrayList<String[]> t)
{
for (int i = 0; i < t.size(); i++)
{
// some actions with collection using t.DOSOMETHING
}
}
}
问候。