这篇文章打算边整理边写,随时更新
1.循环遍历的优化
方法1
for(int i =0;i<array.length;i++){
//...
}
方法2
for(int i=0,len=array.length;i<len;i++){
//...
}
方法3
for(Object o : array){
//...
}
可以看到,上述代码中用了3种方式对array中的所有元素进行循环遍历。其中方法1是最慢的一种,因为它每循环一次都需要重新计算一次array的长度。而方法2则相对快的多,因为它使用了局部变量len来记录数组的长度。方法3在没有JIT(Just In Time Compiler)的设备上运行最快,而在有JIT的设备上运行效率和方法2不相上下,但是方法3的写法需要JDK1.5之后才支持。
有一个特殊情况,对于ArrayList这种集合的遍历,方法2要比方法3循环更快,而其它的集合就没有这种情况。因此,对于我们来说,默认情况下可以使用方法3,而遍历ArrayList时还是使用方法2吧。