?> 前言

经常使用一些循环,进行耗时计算的操作,特别是 for 循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当,将大大提高效率,下面总结几条 for 循环的常见优化方式。

首先初始化一个集合 list,如下:

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

方式一:最常规的不加思考的写法

for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
}
  • 优点:较常见,易于理解
  • 缺点:每次都要计算 list.size()

方式二:数组长度提取出来

int size = list.size();

for (int i = 0; i < size; i++) {
    System.out.println(list.get(i));
}
  • 优点:不必每次都计算 list.size()
  • 缺点:
  • size 的作用域不够小,违反了最小作用域原则
  • 不能在 for 循环中操作 list 的大小,比如除去或新加一个元素

方法三:数组长度提取出来

for (int i = 0, size = list.size(); i < size; i++) {
    System.out.println(list.get(i));
}
  • 优点:不必每次都计算,变量的作用域遵循最小范围原则
  • 缺点:
  • size 的作用域不够小,违反了最小作用域原则
  • 不能在 for 循环中操作 list 的大小,比如除去或新加一个元素