Map——Dart

本文深入探讨了Dart语言中Map的使用方法,包括如何创建Map对象,使用字面值和构造器,以及如何添加、获取和检查Map中的键值对。同时,介绍了Map的长度属性和创建编译时常量的Map。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Map——Dart

Map中的key和value可以使任意类型的对象。

Dart中既可以使用map字面值创建map对象,也可以使用Map类。

使用字面值创建Map:
var gifts = {
  // Key:    Value
  'first': 'partridge',
  'second': 'turtledoves',
  'fifth': 'golden rings'
};

var nobleGases = {
  2: 'helium',
  10: 'neon',
  18: 'argon',
};

Note:Dart分析器可以推断出gifts的类型为Map<String, String>,nobleGases的类型为Map<int, String>
如果你尝试添加错误的类型,分析器或者在运行时会把报错。

使用构造器创建Map
var gifts = Map();
gifts['first'] = 'partridge';
gifts['second'] = 'turtledoves';
gifts['fifth'] = 'golden rings';

var nobleGases = new Map();
nobleGases[2] = 'helium';
nobleGases[10] = 'neon';
nobleGases[18] = 'argon';

Note: 你可能想使用new Map()替换Map()。在Dart2中,关键字new变成可选的了。
更多细节,参照Using constructors

给Map新增键值对
var gifts = {'first': 'partridge'};
  gifts['fourth'] = 'calling birds'; // Add a key-value pair
  print(gifts);// {first: partridge, fourth: calling birds}
从Map中获取值
var gifts = {'first': 'partridge'};
assert(gifts['first'] == 'partridge');
Map中是否包含某个key

如果不包含这个key,value会返回null。

var gifts = {'first': 'partridge'};
assert(gifts['fifth'] == null);
获取长度——使用Map#length
var gifts = {'first': 'partridge'};
gifts['fourth'] = 'calling birds';
assert(gifts.length == 2);
创建编译时常量的Map

在map字面值之前添加const关键字

final constantMap = const {
  2: 'helium',
  10: 'neon',
  18: 'argon',
};

// constantMap[2] = 'Helium'; // Uncommenting this causes an error.

参考:
https://www.dartlang.org/guides/language/language-tour#maps

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值