dart学习(六)

Map集合

一般而言,一个map是一个key与value关联的对象,所有的key和value可以是任何类型的对象,ke不能重复,value可以有多个相同的,dart支持map的字面量创建和构造函数创建。

var gifts = {
  // Key:    Value
  'first': 'partridge',
  null: 'turtledoves',
  2: 'golden rings'
};

var map = new Map();
map[1] = 'sixleg';
print(map[1]); // 'sixleg'

Map可以使用泛型,指定key跟value的类型

Map<int,String> map = {};  //key必须是int,value必须是String
map[0]  = 'Tom'; //添加一个新的键值对到map中
print(map); // {0:'Tome'}  
print(map[0]); // 'Tome'  通过key获取value的值

Map常用属性

  • entries:返回map的entries对象   返回值: Iterable
  • isEmpty:map集合是否为空   返回值:bool
  • isNotEmpty:map集合是否不为空  返回值:bool
  • keys:map集合的key的Iterable对象  返回值:Iterable
  • length:map集合key/value的对数  返回值:int
  • values:map集合值的Iterable对象 返回值:Iterable
  • hashCode:map集合的哈希码  返回值:int

Map常用方法

  • addAll(Map map)  往当前map集合添加一个map集合,如果key相同,则覆盖当前集合中key的值,返回值:void
var map = {1: "six", 2: "leg"};
var m = {3: "tom", 2: "张"};
map.addAll(m);
print(map); //{1: six, 2: 张, 3: tom}
  • addEntries(Iterable<Map> iterable)  往当前map集合添加Map类型的Iterable对象,返回值:void
var map = {1: "six", 2: "leg"};
var m = {3: "tom", 2: "张"};
map.addEntries(m.entries);
print(map); //{1: six, 2: 张, 3: tom}
  • clear() 清除当前map集合的所有键值对
  • containsKey(Object key)  当前map对象是否包含键为key的键值对,返回值:bool
  • containsValue(Object value) 当前map对象是否包含值为value的键值对,返回值:bool
  • forEach(f(K key,V value){})  遍历当前map对象
var map = {1: "six", 2: "leg"};
map.forEach((key, value) {
  print("$key:$value");
});

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值