天天看點

增強for循環和for-each循環

      Java1.5新增屬性之一就是增強的for循環  for(Object  o:objectList),以前一直用的for-each   (for inti=0;i<list.size();i++),增強的for循環沒怎麼用過,後來碰到的一些問題改變了我,使得現在優先使用增強的for循環,      看下面這段代碼,循環擷取兩個骰子所有的可能結果:       enum Face{ONE,TWO,THREE,FOUR,FIVE,SIX};       for(Iterator i=Face.values();i.hasNext())          for(Iterator j=Face.values();j.hasNext())              System.out.printon(i+","+j);         它并不會輸出我們期望的三十六種組合,而是ONE,ONE;TWO,TWO這樣的六種組合,如果改成      for(Iterator i=Face.values();i.hasNext()){        Face  f = (Face)i.next();                  for(Iterator j=Face.values();j.hasNext())               System.out.printon(f+","+j);           }  則會輸出期望的三十六種組合,如果直接使用增強的for循環,就會輸出正确的結果 。 但并不是所有的情況都适合用增強的for循環,例如,需要疊代循環取得某個索引的值并删除,此時非for-each莫屬了。