你没有见过的 7种 for 循环优化,超好用

小微 科技你没有见过的 7种 for 循环优化,超好用已关闭评论98字数 854阅读模式
摘要list,如下:List list = new ArrayList;常规写法for ; i++) {System.out.println);}优点:较常见,易于理

list,如下:

List<String> list = new ArrayList<String>;

常规写法

for ; i++) {
System.out.println);
}

  • 优点:较常见,易于理解
  • 缺陷:每一次都要计算 list.size

优化1:数组长度提掏出来

int m = list.size;
for {
System.out.println);
}

  • 优点:无须每一次都计算
  • 缺陷:
    • m的作用域不够小,违反了最小作用域原则;
    • 不能在for循环中操作list的大小,比如除了去或新加一个元素。

优化2:数组长度提掏出来

for ; i < n; i++) {
System.out.println);
}

  • 优点:无须每一次都计算 ,变量的作用域遵循最小规模原则。
  • 缺陷:
    • 不能在for循环中操作list的大小,比如除了去或新加一个元素。

优化3:采取倒序的写法

for - 1; i >= 0; i--) {
System.out.println);
}

  • 优点:无须每一次都计算 ,变量的作用域遵循最小规模原则。
  • 缺陷:
    • 结果的顺序会反;
    • 看起来不习惯,不容易读懂。
  • 合用场合:与显示结果顺序无关之处:比如保留以前数据的校验。

遍历

for ; it.hasNext;) {
System.out.println);
}

  • 优点:简洁。

优化4:优化遍历

for {
System.out.println;
}

  • 优点:简洁、结合泛型使用更简洁。
  • 缺陷:jdk1.4向下不兼容。

优化5:循环嵌套外小内大原则

for {
for {
}
}

缘由:嵌套循环应当遵循“外小内大”的原则,这就好比你复制不少个小文件以及复制几个大文件的区分,复制不少小文件速度是很慢的,而复制几个大文件速度则快不少。文章源自微观生活(93wg.com)微观生活-https://93wg.com/4401.html

优化6:循环嵌套提取不需要循环的逻辑

//前:
int a = 10, b = 11;
for {
i = i * a * b;
} 文章源自微观生活(93wg.com)微观生活-https://93wg.com/4401.html

//后:
int c = a * b;
for {
i = i * c;
}

优化7:异样处理写在循环外面

反例

for {
try {文章源自微观生活(93wg.com)微观生活-https://93wg.com/4401.html

} catch {文章源自微观生活(93wg.com)微观生活-https://93wg.com/4401.html

}
}

正例

try {
for {
}
} catch {文章源自微观生活(93wg.com)微观生活-https://93wg.com/4401.html

}

以上就是微观生活(93wg.com)关于“你没有见过的 7种 for 循环优化,超好用”的详细内容,希望对大家有所帮助!文章源自微观生活(93wg.com)微观生活-https://93wg.com/4401.html 文章源自微观生活(93wg.com)微观生活-https://93wg.com/4401.html

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/4401.html