void main(){
// Создаем List с нашей структурой
List<ListStructure> list = new List<ListStructure>();
// Создаем Map и заполняем List значениями Map
Map<dynamic, dynamic> map = {
"1": "Tom",
"2": "Bob",
"3": "Sam"
}..forEach((k,v) => list.add(new ListStructure(k, v)));
// Выводим List поэлементно (по индексу)
for(int i = 0; i < list.length; i++){
print("${list[i].key}: ${list[i].values}");
}
print("");
// добавим в List новый элемент
list.add(new ListStructure("4","Kail"));
// присвоим Map значения List
map = list.asMap();
// Выводим Map поэлементно (по индексу)
for(int i = 0; i < map.length; i++){
print("${map[i].key}: ${map[i].values}");
}
}
// Структура List
class ListStructure{
dynamic key;
dynamic values;
ListStructure(this.key, this.values);
}
main(List<String> arguments) {
var map = Map<String, String>();
map = {
'one': '1',
'two': '2',
'three': '3'
};
// получаем и сохраняем в отдельную переменную список вхождений
var entries = map.entries.toList();
print('Вывод данных полученных из списка вхождений:');
print(entries.elementAt(0).key + ': ' + entries.elementAt(0).value);
print(entries.elementAt(1).key + ': ' + entries.elementAt(1).value);
print(entries.elementAt(2).key + ': ' + entries.elementAt(2).value);
// получаем и сохраняем в отдельные переменные список ключей и список значений
var keys = map.keys.toList();
var values = map.values.toList();
print('Вывод данных полученных отдельно из списка ключей и из списка значений:');
print(keys.elementAt(0) + ':' + values.elementAt(0));
print(keys.elementAt(1) + ':' + values.elementAt(1));
print(keys.elementAt(2) + ':' + values.elementAt(2));
}
结论:
Вывод данных полученных из списка вхождений:
one: 1
two: 2
three: 3
Вывод данных полученных отдельно из списка ключей и из списка значений:
one:1
two:2
three:3
MapinDartisKey-Value Pair- 每个元素都有一个键和一个值。多亏了这个集合的属性Key,Value我们可以得到元素的键和值。但为了有效地工作,我建议使用不同类型的集合,即List<T>. 它比 有更多的功能Map,但也有缺点:它处理小集合中的值比Map快得多,但集合越大,开始处理的速度就越慢。ListMap@Mikhail Rebrov,已经回答了如何解决您的问题。反过来,我将展示如何使用一堆
Mapand的示例List。(以自然动态为例,推荐做强类型)结论:
假设我们有
Map<K,V>,其中K是键的类型,
V是值的类型。我们能做什么?
实例
Map<K,V>具有以下属性:keys, 存储Iterable<K>哪个 , 密钥存放在哪个位置values, 要存储Iterable<V>的, 其中包含值更值得注意的是, 的实例具有存储
Map<K,V>的属性,其中包含 的出现。 细心的读者当然会注意到我说的 ,当然可以迭代,但是不能通过索引获取值。 当然,这是真的,但是抽象类的一个实例有一个方法可以将此实例带到一个常规列表中,您已经可以使用该方法通过索引从该列表中获取一个元素。entriesIterable<MapEntry<K,V>>MapIterableIterabletoList()elementAt()全部的:
结论:
似乎一切都是对的。
为您的健康使用它。