如何让for循环中的每个循环执行?

时间:2014-04-29 02:22:29

标签: java android

我有一个全局变量和一个ArrayList

boolean resultOk;
....
ArrayList<byte[]> payloadList;
...

for循环:

for(int i=0; i<payloadList.size(); i++){
     ...
}

我希望每个人都在for循环中,它会在5s(超时)中完成。如果在5s中,“resultOk”为真,它将立即在for循环中移动到next。如果时间到了,它就会中断循环。怎么做?谢谢!

2 个答案:

答案 0 :(得分:0)

这应该做的工作问题有点模糊,这也只会在每次迭代开始时打破条件,如果时间超过&gt; 5S

long timestamp = System.currentTimeMillis();
    for(int i=0; i<payloadList.size() && (System.currentTimeMillis() - timestamp) < 5000; i++){
        ...
    }

答案 1 :(得分:0)

你需要至少做一次。使用do while循环

long  startTime= System.currentTimeMillis();
int i=0;
do{
...Calculations
if(System.currentTimeMillis()-startTime < 5000){
break;
}
startTime= System.currentTimeMillis();
i++;
}while(i<payloadList.size());

如果lop在小于或大于5秒时断裂,我对你的陈述感到困惑,所以使用&lt; /&gt;根据您的要求签名