foreach的使用原理簡單解析

2022-09-14 11:39:06 字數 646 閱讀 5820

陣列可以foreach遍歷,這個是在jdk1.5之前就可以的,我也不太清楚是怎麼做到的。

後面的list,set等的foreach都是實現iterable介面,基於iterator()物件實現的。foreach之所以能工作,是因為j**a se5引入了新的被稱為iterable的介面,該介面包含乙個能夠產生iterator的iterator()方法,並且iterable介面被foreach用來在序列中移動。因此如果你建立了任何實現iterator的類,都可以將它用於foreach語句中。

public

class iterableclass implements iterable

@override

public

string next()

public

void

remove() };}

public

void foreach(consumer<? super string>action)

public spliteratorspliterator()

public

static

void

main(string args)

}}

陣列並非iterable物件,可以試驗得到結果。

簡單介紹下for each迴圈的使用

通常我們使用的迴圈語句有3,分別是 1.for int i 0 i 2.while 3.do while 常用一般是for迴圈。但是,在工作中,大量複寫for既繁瑣,又容易導致出錯 博主經常分不清哪個 是哪個的 所以經過老師的講解,學習了for each的使用。列子1 如果申明乙個陣列字串,如何使用...

C 中foreach的原理

結構篇 foreach 語句為陣列或物件集合中的每個元素重複乙個嵌入語句組。foreach 語句用於迴圈訪問集合以獲取所需資訊,但不應用於更改集合內容以避免產生不可預知的 此語句的形式如下 foreach type identifier in expression statement 其中 type...

C 當中 foreach 的原理

在 c 當中的foreach語句實際上就是遍歷迭代器的語法糖。例如我們擁有以下 public class testclass foreach var int in integers 上述 結構十分簡單,作用就是遍歷integers陣列,並將其結果輸出到控制台當中。由於int是乙個array型別,它繼...