Dart 编程中的迭代器类

Dart 中的迭代器类是一个接口,当我们想要从对象中一次获取一个项目时使用它。

迭代器最初位于第一个元素之前。在访问第一个元素之前,需要使用 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

Iterator 也可以用在映射上,但因为我们不能迭代存储在映射中的键值对。我们将分别在键对象和值对象上使用迭代器。

示例

考虑下面显示的例子 -

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

以上是 Dart 编程中的迭代器类 的全部内容, 来源链接: utcz.com/z/361723.html

回到顶部