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

解决方案 »

  1.   

    http://javatgo.iteye.com/blog/1155702#comments
      

  2.   

    for(int i=0;i<list.size();i++)这个每次循环都要调用list.size()方法后进行比较,
    而for(int i=0,len=list.size();i<len;i++),只调用了一次list.size()将值赋给len,那你说是调用list.size()方法取值快呢还是直接从len中取值快呢
      

  3.   

    for(int i=0;i!=60;i++)
    {}
    for (int i=0;i<60;i++)
    {}这两个的区别引用网上流行的就是2B青年与文艺青年的区别。再给你举个简单的例子:
    你是一个男人,
    你是喜欢别人直接说你是个男人呢还是喜欢别人说你不是女人?
    能明白我想表达的什么了不?
      

  4.   

    如果list 是LinkedList并且,size很大,比如100万的话
    你两段代码,一样慢int index = 0; // 如果需要下标的话
    for (X x : list) {
      ...
      index++;
    }
      

  5.   

    嗯嗯,如果是这样的话,就用ArrayList了,谢了