日期:2014-05-20  浏览次数:20657 次

效率与简洁书写之争,求解释
13. 尽量减少对变量的重复计算
 

for(int i=0;i<list.size();i++)
应该改为
for(int i=0,len=list.size();i<len;i++)
并且在循环中应该避免使用复杂的表达式,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。  
上面 这段是在博客上看到的;
表示我每次用的都是上面的那个,这个效率真的比下面的低———— 问题 1
实际开发中会用哪种呢?——————————————————— 问题2
还有下面两种写法有什么区别么———————————————— 问题3
实际开发中用哪个—————————————————————— 问题4
for(int i=0;i!=60;i++)
{

}
for (int i=0;i<60;i++)
{

}
这两个的区别跟上面那两个的区别是相同的么?——————————问题5


------解决方案--------------------
http://javatgo.iteye.com/blog/1155702#comments
------解决方案--------------------
for(int i=0;i!=60;i++)
{

}
for (int i=0;i<60;i++)
{

}

这两个的区别引用网上流行的就是2B青年与文艺青年的区别。

再给你举个简单的例子:
你是一个男人,
你是喜欢别人直接说你是个男人呢还是喜欢别人说你不是女人?
能明白我想表达的什么了不?
------解决方案--------------------
如果list 是LinkedList并且,size很大,比如100万的话
你两段代码,一样慢

Java code
int index = 0; // 如果需要下标的话
for (X x : list) {
  ...
  index++;
}

------解决方案--------------------
!= 肯定比 < 来的快,
可又能快多少呢,一般情况下忽略不计。