我有两个相同大小的 Sorted ArrayList,即team_A& team_B,其中比较 with 的每个元素team_A以team_B找到powerDiff > 0. 找到powerDiff大于 0 后,再从 中删除该元素team_B以减少下一个循环的迭代次数。
long calculateWin(){
int wins = 0;
int tempIndex=0;
boolean flag = false;
long powerDiff=0;
for(int i=0; i<team_A.size(); i++) {
for(int j=0; j<team_B.size(); j++) {
powerDiff = team_A.get(i) - team_B.get(j);
if(powerDiff>0) {
wins++;
tempIndex=j;
flag=true;
break;
}
}
if(flag) {
team_B.remove(tempIndex);
flag = false;
}
}
return wins;
}
上面的代码运行良好,但由于复杂性,我想使用 Java 8 的 Stream API 优化此代码。