美文网首页
Dart 学习笔记(二):部分数据类型的常用属性和方法

Dart 学习笔记(二):部分数据类型的常用属性和方法

作者: love断鸿 | 来源:发表于2019-12-15 14:37 被阅读0次

    List

    List 就是数组, 任何语言里数组的操作无外乎增,删,改,查

    List myList = ['小明', '小红', '小刚', '小娜'];
    
    // 获取 指定数据
    print(myList[1]);
    
    // 翻转(倒叙) 得到的是集合(Set)
    print(myList.reversed.toList);//返回一个List的倒序排列的Iterable  不改变原List
    注意: reversed 之后得到的是Iterable类型 toList之后才会得到数组
    
    // 增
    myList.add('小洋'); // 增加一个
    myList.addAll(['小李', '小赵']);// 增加多个
    
    // 查找
    print(myList.indexOf('小红')); // 找到 返回的是1 找不到返回的是-1
    
    // 删除
    myList.removeAt(0); // 根据角标删除
    myList.remove('小刚'); // 根据元素删除
    
    // 改  fillRange(int start, int end, [E fillValue]) 从第start(包括)位开始修改 一直修改到第end(不包括)位
    myList.fillRange(1, 2, '小王');
    myList.fillRange(1, 3, '小孙');
    
    // 插入
    myList.insert( 1 , 'aaa');
    myList.insertAll(3, ['vvv', 'aaadd', 3]);
    
    // list -> String
    var str = myList.join('-');// 转换成以-分割的字符串
    if (str is String) {
      print(str); //小明-小红-小刚-小娜
    }
    
    // String -> List 小明-小红-小刚-小娜
    var list1 = str.split('-');
    if (list1 is List) {
      print(list1);//['小明', '小红', '小刚', '小娜'];
    }
    

    Set(与数组相比 元素不能重复)

    var s = new Set();
    s.add('小明');
    
    // Set -> List
    print(s.toList());
    
    // 用法 可用于数组去重
    List my1List = ['小明', '小红', '小刚', '小明'];
    print(my1List.toSet().toList());
    

    Maps

    var person = {
      'name' :'张三',
      'age' : 20
    };
    print(person);
    
    // 获取所有key 或者 value
    print(person.keys.toList());
    print(person.values.toList());
    
    // 是否为空 活是否不为空
    print(person.isEmpty);
    print(person.isNotEmpty);
    
    // 增加属性
    person.addAll({
      'works' : ['外卖', '程序员'],
      'height' : 175
    });
    
    print(person);
    
    // 删除
    person.remove('height');
    print(person);
    
    // 查
    print(person.containsValue('张三'));
    print(person.containsKey('works'));
    

    一些高级函数 类似swift当中的高级函数

    // 遍历数组
    list1.forEach((item){
      print(item);
    });
    
    // 更改 (统一规则) swift当中也有
    var listNum = [1,2,3];
    var newlist = listNum.map((item){
      return item * 2;
    });
    print(newlist.toList());
    
    // where (筛选符合条件的元素)
    var newWhereList = listNum.where((item){
      return item > 2;
    });
    print(newWhereList.toList());
    
    // any (只要有一个元素满足条件 就会返回true)
    var f = listNum.any((item){
      return item > 2;
    });
    print(f);
    
    // every (全部满足条件 才会返回true)
    var b = listNum.every((item){
      return item > 0;
    });
    print(b);
    
    // 遍历set
    var newSet = new Set();
    newSet.addAll([1111,2223,44,5555]);
    newSet.forEach((item) {
      print(item);
    });
    
    // 遍历Map
    person.forEach((key, value){
      print('$key --- $value');
    });
    
    

    相关文章

      网友评论

          本文标题:Dart 学习笔记(二):部分数据类型的常用属性和方法

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