我无法理解 Iterable class 然后使用 .map 语法。你能用简单的语言表达吗?

I am having trouble understanding the Iterable class then with the .map syntax. can you put this in a simple language?

我知道它使 ListTiles 走上了一条新路线,但我无法理解语法。拜托,你能用简单的语言解释一下这里发生了什么吗?

void _pushSaved() {
Navigator.of(context).push(
  MaterialPageRoute<void>(
    builder: (BuildContext context) {
      final Iterable<ListTile> tiles = _saved.map(
        (WordPair pair) {
          return ListTile(
            title: Text(
              pair.asPascalCase,
              style: _biggerFont,
            ),
          );
        },
      );
      final List<Widget> divided = ListTile.divideTiles(
        context: context,
        tiles: tiles,
      ).toList();

      return Scaffold(
        // Add 6 lines from here...
        appBar: AppBar(
          title: Text('Saved Suggestions'),
        ),
        body: ListView(children: divided),
      ); // ... to here.
    },
  ),
);

}

Dart 中的可迭代对象(List、Map、Set 等)具有 "functional style" 将常见类型的循环应用于其元素的方法。 map() 在可迭代对象的每个元素上运行一个函数,无论该函数 returns 被收集到一个新的可迭代对象中。

List<int> squares(List<int> numbers) {
  return numbers.map((number) => number * number).toList();
}

它 "maps" 一个 Iterable<Type1> 到一个 Iterable<Type2>。尽管它们可以与我的示例中的类型相同。