Java 断开循环或递增计数器的更快方法?

Java 断开循环或递增计数器的更快方法?,java,loops,while-loop,counter,break,Java,Loops,While Loop,Counter,Break,有没有更快的方法增加计数器或从外部循环中断 while(myArrayList.get(i) > myNumber) { // some operations if(i + 1 < myArrayList.size()) i++; else break; } while(myArrayList.get(i)>myNumber){ //一些操作 如果(i+1

有没有更快的方法增加计数器或从外部循环中断

while(myArrayList.get(i) > myNumber) {
    // some operations

    if(i + 1 < myArrayList.size())
        i++;
    else
        break;
}
while(myArrayList.get(i)>myNumber){
//一些操作
如果(i+1
for循环在这里更合适:

int counter = 0

for(int i = 0; i < myArrayList.size(); i++) {
    if(!(myArrayList.get(i) > myNumber)) {
        break;
    }

    counter++;
}

您需要首先检查大小,以避免超出列表的末尾并出现错误

int i;
for (i = 0; i < myArrayList.size(); i++) 
    if (myArrayList.get(i) <= myNumber)
        break;
inti;
对于(i=0;i如果(myArrayList.get)(i)myArrayList.get(i)我想您应该从某个索引开始计数

int count=0;
    for( ;((i < myArrayList.size()-1) && (myArrayList.get(i) > myNumber));i++){
        count++;
    }
int count=0;
对于(;((imyNumber));i++){
计数++;
}

编写代码的更好方法肯定是:

for (int i = 0; i < myArrayList.size(); i++) {
    if (myArrayList.get(i) <= myNumber) break;
    //Some operations...
}
for(int i=0;i如果(myArrayList.get(i)以什么方式“更快”?@KevinAnderson faster=>更好,更快并不总是更好如果ArrayList中没有任何成员大于myNumber,则代码最终会导致OutOfBoundException。在第一种情况下,您只需要计数器上的数据。@PeterLawrey我也这么认为,但目标似乎是计算满足
!(myArrayList.get(I)>myNumber)的元素
condition,在这种情况下,我认为计数将在循环之外使用。问题似乎是如何从循环中中断。如果你对通过测试的那些进行计数,你就不会使用
break;
@PeterLawrey。中断正是第一个片段所做的。第二个片段用于计数(虽然这不是问题,但我怀疑这可能是目标,因为
I
的范围比
while
循环更广)您最喜欢先检查大小。我认为
太多了)
如果你有
i
为什么你需要
j
,因为它应该总是一样的?我想他可能想从中间开始计数
int count=0;
    for( ;((i < myArrayList.size()-1) && (myArrayList.get(i) > myNumber));i++){
        count++;
    }
for (int i = 0; i < myArrayList.size(); i++) {
    if (myArrayList.get(i) <= myNumber) break;
    //Some operations...
}