Dart 程式設計中的迭代器類
Dart 中的 Iterator 類是一種用於從物件中一次獲取一個專案時的介面。
迭代器最初放置在第一個元素之前。在訪問第一個元素之前,需要使用 moveNext 移動迭代器以指向第一個元素。如果我們到達物件的末尾,則 moveNext 返回 false,並且對 moveNext 的所有進一步呼叫也將返回 false。
需要注意的是,如果在迭代過程中更改物件中的任何內容,則行為是不確定的。
當我們希望在迭代過程中獲取物件的當前元素時,我們會使用 Iterator 類的 current 屬性。
讓我們來看一個例子,其中我們有一個不同的水果列表,並且我們使用迭代器一個一個地迭代它們。
示例
考慮下面顯示的示例 -
void main(){ var fruits = ['apple','mango','banana']; var fruit = fruits.iterator; while(fruit.moveNext()){ print(fruit.current); } }
輸出
apple mango banana
迭代器也可以用於對映,但由於我們不能迭代儲存在對映中的鍵值對。我們將分別使用鍵物件和值物件上的迭代器。
示例
考慮下面顯示的示例 -
void main(){ var map = new Map(); map['apple'] = true; map['banana'] = true; map['kiwi'] = false; var valuesIterator = map.values.iterator; while(valuesIterator.moveNext()){ print(valuesIterator.current); } var keysIterator = map.keys.iterator; while(keysIterator.moveNext()){ print(keysIterator.current); } }
輸出
true true false apple banana kiwi
廣告