美文网首页
Dart -- Map

Dart -- Map

作者: 小懒豆 | 来源:发表于2019-07-12 19:14 被阅读0次
var map1 = {'aa':'aaa','bb':22,'cc':true};//直接赋初始值
Map map3 = {"a":"a1","b":"b1"};//直接赋初始值
map3["c"] ="c";
var map2 = new Map();
map2['dd']=3.3;
map2[2] = 'ddd22';
var map333 = <String,String>{};
Map<int,String> map4 = new Map();
Map<String,int> map5 = {"a":1,"b":2};
属性 描述
length 长度
isEmpty 是否为空
isNotEmpty 是否不为空
keys key的集合
value value的集合
entries map迭代的键值对集合
方法
  • update() 对指定的key的value做出修改

        Map<String,int> map23 = {"a":1,"b":2,"c":3};
      //key存在  根据参数函数修改其值,key不存在  报错
      int result3 = map23.update("a", (value)=>(value*2));
    //key不存在  但有ifAbsent参数 返回ifAbsent函数的值  并添加到map中
      int result4 = map23.update("d", (value)=>(value*2),ifAbsent: ()=>(10));  
    
  • updateAll() 根据参数函数的规则,批量修改map

    Map<String,int> map24 = {"a":1,"b":2,"c":3};
    map24.updateAll((String key,int value){
      return value*2;
    });
    
  • remove() 删除一个key

     Map<String,int> map9 = {"a":1,"b":2,"c":3,"d":4,"e":5};
     map9.remove("b");
    
  • removeWhere() 根据条件批量删除

     Map<String,int> map10 = {"a":1,"b":2,"c":3,"d":4,"e":5};
    //删除掉 符合参数函数的keyvalue对
     map10.removeWhere((key,value)=>(value>3));
    
  • containsKey() 是否包含key

  • containsValue() 是否包含value值

  • forEach() 遍历时可以修改value值,遍历时,新增或删除key 都会报错

     Map<String,int> map12 = {"a":1,"b":2,"c":3,"d":4,"e":5};
     map12.forEach((String key,int value){
     //      print("$key  $value");
    });
    
  • map() 遍历每个元素 根据参数函数,对keyvalue做出修改,可转换成其他泛型的Map

    Map<String,int> map19 = {"a":1,"b":2,"c":3};
    Map<int,String> map20 = map19.map((String key,int value){
     return new MapEntry(value, key);
    });
    
  • clear() 清空map

  • addAll() 整体合并另一个map 泛型要一致,key相同时value值后者覆盖前者,前者不存在时则添加进来

  • addEntries()合并两个map 如果key有重复,被合并的map的value覆盖前者

  • putIfAbsent() 存在key就获取值,不存在则添加到map 然后返回值

    Map<String,int> map18 = {"a":1,"b":2,"c":3};
    int result = map18.putIfAbsent("a", ()=>(2));//存在
    print(result);//1   获取key的值
    print(map18);//{a: 1, b: 2, c: 3}   map不变
    int result2 = map18.putIfAbsent("d", ()=>(2));//不存在
    print(result2);//2   获取新的key的value
    print(map18);//{a: 1, b: 2, c: 3, d: 2}   map改变
    
  • cast() 泛型类型提升为其父祖类

    Map<String,int> map21 = {"a":1,"b":2,"c":3};
    Map<Object,Object> map22 = map21.cast();
    

相关文章

  • Dart -- Map

    方法 update() 对指定的key的value做出修改 Map map23 = {"a":1,"b":...

  • dart map

    Map是一个键值对相关的对象,键和值可以是任何类型的对象。每个键只出现一次,而一个值则可以出现多次。映射是动态集合...

  • Dart Map

    创建1)new创建 2)字面量创建 3)创建不可修改的Map 创建的map默认为LinkedHashMap。 修改...

  • Map 排序 ーー Dart extension 扩展

    Map 排序 ーー Dart extension 扩展 前言 用 Flutter 中的扩展方法对 Map 进行升序...

  • 【Dart 专题】Map 集合小结~

    Map 在日常生活中最常见的集合方式,而 Dart 中的 Map 相较于 Android 中的 Map 略有不同,...

  • Dart基础:可迭代的集合

    Dart中的集合类型 Dart中常用的集合类型:List、Set、Map。其中List、Set实现了Iterabl...

  • 没有人比我更会使用集合!对, 是dart中的集合

    简介 dart中的集合有三个,分别是list,set和map。dart在dart:core包中提供了对于这三种集合...

  • 磨刀- Dart Map

    ✨✨✨✨✨ 魏什么_多喝水 Flutter 之路 声明 属性 方法 遍历 清空 添加addall cast 泛型类...

  • `Dart` 中序列化与持久化使用小结

    前言 学习的过程总是愉悦的。今天来给大家分享 dart 开发中,序列化 与 持久化。 Dart 对象转 Map 在...

  • Flutter Dart List.map() 获取下标

    用其他语言,一般都可以map()来迭代数组, 获取index, element,用dart的map()发现无法获取...

网友评论

      本文标题:Dart -- Map

      本文链接:https://www.haomeiwen.com/subject/sgkkkctx.html