如何将Dart中的List转换为Map/把map转换成list?

1,161 阅读1分钟

本教程展示了在Dart或flutter编程中将List转换为Map的多种方法。Convert List to Map or Map to List in Dart and flutter

在Dart中,List是一个对象的动态集合。地图是一种数据结构,用于存储键和值对。

两者在Dart或Flutter中都是不同的类型,我们必须写一段代码,将一种类型转换为另一种。

在Dart或Flutter编程中如何将List转换为Map

List.asMap()方法将一个列表转换为具有索引键的地图类型。而返回的地图是未经修改的,不可编辑的。

下面是一个示例程序

main() {
  List wordsList = ['one', 'two', 'three'];
  Map wordsMap = wordsList.asMap();
  print(wordsMap); //{0: one, 1: two, 2: three}
  var numberList = [3, 6, 2, 7, 51, 15, 4];
  Map numbersMap = numberList.asMap();// {0: 3, 1: 6, 2: 2, 3: 7, 4: 51, 5: 4}
  print(numbersMap);
}

如何在Dart或Flutter编程中把map转换成list?

map包含键和值。

要转换为列表,使用toList()方法。map.keys ,返回键的类型为Iterablemap.values ,返回值的类型为Iterable 。所以对返回的键和值调用toList()方法来转换为List类型。

map.keys.toList(): 将键转换为键的列表

map.keys.toList(): 方法将键转换为List of values。

下面是一个将地图的键和值转换为独立的列表的示例程序。

main() {
  List wordsList = ['one', 'two', 'three'];
  Map wordsMap = wordsList.asMap();
  print(wordsMap); //{0: one, 1: two, 2: three}
  
  var keyList = wordsMap.keys.toList();
  print(keyList);
  var valuesList = wordsMap.values.toList();
  print(valuesList);
}

总结

学习如何在Dart或flutter编程中把List转换成Map或Map转换成List。