forEach 方法

void forEach(
  1. void f(
    1. K key,
    2. V value
    )
)
override

对映射中的每个键/值对应用 action

调用 action 时不可向映射中添加或删除键。

final planetsByMass = <num, String>{0.81: 'Venus', 1: 'Earth',
  0.11: 'Mars', 17.15: 'Neptune'};

planetsByMass.forEach((key, value) {
  print('$key: $value');
  // 0.81: Venus
  // 1: Earth
  // 0.11: Mars
  // 17.15: Neptune
});

实现

void forEach(void f(K key, V value)) {
  Iterator<MapEntry<K, V>> nodes = _SplayTreeMapEntryIterator<K, V>(this);
  while (nodes.moveNext()) {
    MapEntry<K, V> node = nodes.current;
    f(node.key, node.value);
  }
}