1. 程式人生 > >java foreach遍歷順序

java foreach遍歷順序

在java中,我們經常使用foreach(官方說法:The enhanced for statement)的形式來遍歷Collection和Array,那麼遍歷的順序是怎麼樣的呢?
一般,我們使用如下的形式來使用foreach的功能:

for(var x : expression) statement

上述程式碼的語義基本如是:x是變數,expression是需要遍歷的Collection或者Array,statement是執行過程。

那麼,這個語義翻譯成for迴圈是怎麼樣呢?

如果是Collection:

for(I #i = expression.iterator; #i.hasNext(); ){
var x = #i.next(); }

如果是Array:

for(int i = 0; i < expression.length(); i++){
    var x = expression[i];
}

從上面的翻譯我們可以歸納為:
- 如果是Collection,遵循其Iterator的順序;
- 如果是Array,從以一個遍歷到最後一個;