1

我有一个执行 1000 次的 for 循环!我想将每次迭代的结果保存到一个数组列表中,但它不会保存上次迭代的数据!它只是在每次迭代中清除整个数组列表并向其中添加新项目!

我应该如何保存整个数据?我不会添加任何代码,因为它真的很复杂,而且很难解释循环中发生了什么。我想大致知道如何解决问题并能够保存整个数据

4

3 回答 3

2

声明你的循环ArrayList之外。for

像这样

ArrayList results = new ArrayList();

for (int i = 0; i < 10000; ++i){
    int result = myFunction(i);
    results.add(result);
}
于 2012-06-12T12:42:26.680 回答
2

我需要你的代码来更准确地理解问题出在哪里,但我认为这可能是因为你ArrayList在循环中创建了一个新的。

您的代码应如下所示:

List list = new ArrayList();
for(int i = 0; i < 1000; i++) {
    data = ...
    list.add(data);
}
于 2012-06-12T12:43:11.737 回答
0

在 for 循环之外创建一个 EmptyArrayList对象。在 for 循环中获取您的对象并将其添加到列表中。

List<YourClass> list=new ArrayList<YourClass>();

    for(int i=0;i <1000;i++)
    {
        obj=new YourClass();
        list.add(obj);
    }
于 2012-06-12T12:55:28.797 回答