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:异样处理写在循环外面
反例
} catch {文章源自微观生活(93wg.com)微观生活-https://93wg.com/4401.html
}for {
try {文章源自微观生活(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
评论