List集合

void main() {
  // List集合
  List list = ['香蕉', '苹果', '西瓜'];
  print(list); // [香蕉, 苹果, 西瓜]
  print(list.length); // 3
  print(list[0]); // 香蕉
  list[1] = '橘子';
  print(list); // [香蕉, 橘子, 西瓜]
  list.add('葡萄');
  print(list); // [香蕉, 橘子, 西瓜, 葡萄]
  list.insert(1, '桃子');
  print(list); // [香蕉, 桃子, 橘子, 西瓜, 葡萄]
  // 可以插入多个
  list.insertAll(1, ['aaa', 'bbb']);
  print(list); // [香蕉, aaa, bbb, 桃子, 橘子, 西瓜, 葡萄]

  list.remove('桃子');
  print(list); // [香蕉, 橘子, 西瓜, 葡萄]
  list.removeAt(1);
  print(list); // [香蕉, 西瓜, 葡萄]
  list.fillRange(1, 2, 'aaa');
  print(list); // [香蕉, aaa, 葡萄]
  print(list.indexOf('葡萄')); // 2 查找到返回索引,查找不到返回-1
  list.sort();
  print(list); // [aaa, 葡萄, 香蕉]
  print(list.sublist(1)); // [葡萄, 香蕉]
  list.forEach((value) {
    print(value);
  });
  list.addAll(['aaa', 'bbb']);
  print(list); // [aaa, 葡萄, 香蕉, aaa, bbb]
  list.insertAll(1, ['aaa', 'bbb']);
  print(list); // [aaa, aaa, bbb, 葡萄, 香蕉, aaa, bbb]
  // list转换成字符串
  var str = list.join('-');
  print(str); // aaa-aaa-bbb-葡萄-香蕉-aaa-bbb
    // 字符串转换成list
    var list2 = str.split('-');
    print(list2); // [aaa, aaa, bbb, 葡萄, 香蕉, aaa, bbb]
    // list 去重
    var list3 = ['aaa', 'aaa', 'bbb', 'ccc'];
    var list4 = new Set();
    list4.addAll(list3);
    print(list4); // {aaa, bbb, ccc} Set集合 不能重复
    print(list4.toList()); // [aaa, bbb, ccc]

  // aaa
  // 葡萄
  // 香蕉
  // 常用属性:
    // length  长度
    // reversed  翻转
    // isEmpty  是否为空
    // isNotEmpty  是否不为空
  // 常用方法:
    // add  增加
    // insert(index,value)  指定位置增加
    // remove()  删除
    // removeAt(index)  删除指定位置
    // fillRange(start,end,value)  修改
    // indexOf()  查找索引
    // sort()  排序
    // sublist(start,end)  截取范围内的值
    // forEach()  循环打印
    // addAll()  拼接数组
    // insertAll(index,list)  指定位置拼接数组
    // toList()  其他类型转换成List
    // join()  List转换成字符串
    // split()  字符串转换成List
    // map()  将集合中的每一个元素都执行同一个方法
}

Map集合

void main() {
  var person = {
    "name": '张三',
    "age": 20,
    "work": ['程序员', '送外卖']
  };
  print(person); // {name: 张三, age: 20, work: [程序员, 送外卖]}
  // 常用属性:
  // keys  获取所有的key值
  print(person.keys); // (name, age, work)
  // values  获取所有的value值
  print(person.values); // (张三, 20, [程序员, 送外卖])
  // isEmpty  是否为空
  print(person.isEmpty); // false
  // isNotEmpty  是否不为空
  print(person.isNotEmpty); // true
  // 常用方法:
  // remove(key)  删除指定key的数据
  person.remove('age');
  print(person); // {name: 张三, work: [程序员, 送外卖]}
  // addAll({...})  合并映射  给映射内增加属性
  person.addAll({"height": 1.88});
  print(person); // {name: 张三, work: [程序员, 送外卖], height: 1.88}
  // containsValue  查看映射内的值  返回true/false
  print(person.containsValue('张三')); // true
  // forEach
  person.forEach((key, value) {
    print(key); // name work height
    print(value); // 张三 [程序员, 送外卖] 1.88
  });
  // map
  var map = person.map((key, value) {
    return MapEntry(value, key);
  });
  print(map); // {张三: name, [程序员, 送外卖]: work, 1.88: height}
  // where 
  var map2 = person.values.where((value) {
    return value == 'name';
  });
  print(map2); // {name: 张三}
  // any 只要有一个满足条件就返回true
  var map3 = person.values.any((value) {
    return value == '张三';
  });
  print(map3); // true
  // every 每一项都要满足条件
  var map4 = person.values.every((value) {
    return value == 'name';
  });
  print(map4); // false
  // toJson
  print(person['name']); // 张三
  print(person['age']); // null
  print(person['work']); // [程序员, 送外卖]
  var list = person.values.toList();
  print(list); // [张三, [程序员, 送外卖], 1.88]
  print(list[0]); // 张三
}

Set集合

// Set集合
void main() {
  var s = new Set();
  s.add('香蕉');
  s.add('苹果');
  s.add('西瓜');
  s.add('香蕉');
  print(s); // {香蕉, 苹果, 西瓜}
  // 常用属性:
  // length  长度
  print(s.length); // 3
  // isEmpty  是否为空
  print(s.isEmpty); // false
  // isNotEmpty  是否不为空
  print(s.isNotEmpty); // true
  // 常用方法:
  // add  增加
  s.add('aaa');
  print(s); // {香蕉, 苹果, 西瓜, aaa}
  // addAll({...})  拼接数组
  s.addAll(['bbb', 'ccc']);
  print(s); // {香蕉, 苹果, 西瓜, aaa, bbb, ccc}
  // contains()  查看Set集合内是否包含某个元素  返回true/false
  print(s.contains('aaa')); // true
  // remove()  删除某个元素
  s.remove('aaa');
  print(s); // {香蕉, 苹果, 西瓜, bbb, ccc}
  // forEach
  s.forEach((value) {
    print(value);
  });
  // Set没有索引,不能单独获取某个值
  // print(s[0]); // 报错
  // toList()  将Set集合转换成List集合
  var list = s.toList();
  print(list); // [香蕉, 苹果, 西瓜, bbb, ccc]
  print(list[0]); // 香蕉
}

results matching ""

    No results matching ""