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

更新於:21-May-2021

864 次檢視

開啟你的職業生涯

完成課程並獲得認證

開始
廣告