Flutter Dart 集合类型List Set Map详解军 以及循环语句 forEaclh map where any every

List基础用法

复制代码
  var list1 = ["西瓜", "苹果", "香蕉", true, 0];
  var list2 = <String>["西瓜", "苹果", "香蕉"];
  List list3 = ["西瓜", "苹果", "香蕉"];
  list3.add("草莓");
  print(list3);
  print(list3.length);

  //创建一个固定长度的List
  var list4 = List.filled(2, "");
  list4[0] = "葡萄";
  print(list4);
  print(list4.length);
  var list5 = list4.reversed.toList();

  list5.add("桃子");
  list5.addAll(["桃子", "提子"]); //拼接数组
  //List里面的属性:
  print(list4.isEmpty);
  print(list4.isNotEmpty);
  print(list4.reversed);
  print(list5);

  print(list5.indexOf("桃子")); //indexOf查找数据,查找不到返回-1,查找到返回索引

  list5.remove("提子"); //根据Value删除
  list5.removeAt(3); //根据索引删除
  print(list5);

  List list6 = ["西瓜", "苹果", "香蕉"];
  list6.fillRange(0, 1, "aaa"); //根据索引修改
  print("list6 = $list6"); //list6 = [aaa, 苹果, 香蕉]

  list6.fillRange(1, 3, "aaa"); //根据索引修改
  print("list6 = $list6"); //list6 = [aaa, aaa, aaa]

  List list7 = ["西瓜", "苹果", "香蕉"];

  list7.insert(1, "火龙果"); //插入一个
  list7.insertAll(1, ["猕猴桃", "芒果"]); //插入多个
  print("list7 = $list7"); //list7 = [西瓜, 猕猴桃, 芒果, 火龙果, 苹果, 香蕉]

  List list8 = ["西瓜", "苹果", "香蕉"];
  var join = list8.join("-"); //list转换成字符串
  print("join = $join"); //join = 西瓜-苹果-香蕉

  var str = "西瓜-苹果-香蕉";
  var split = str.split("-"); //字符串转换成list
  print("split = $split"); //split = [西瓜, 苹果, 香蕉]

Set基础用法

复制代码
 /*
  Set
  用它最主要的功能就是去除数组重复内容
  set是没有顺序且不能重复的集合,所以不能通过索引取获取值
   */

  var set = Set();
  set.add("苹果");
  set.add("西瓜");
  set.add("西瓜");
  print("set = $set"); //set = {苹果, 西瓜}
  print(set.toList()); //[苹果, 西瓜]

  //list去重
  List list9 = ["西瓜", "西瓜", "猕猴桃", "芒果", "猕猴桃", "芒果"];
  var set1 = Set();
  set1.addAll(list9);
  print("set1 = $set1"); //set1 = {西瓜, 猕猴桃, 芒果}
  var newList = set1.toList();
  print("newList = $newList"); //newList = [西瓜, 猕猴桃, 芒果]

map常用属性

复制代码
  var map = {"name": "张三", "age": 20, "sex": "男"};
  print("map = $map"); //map = {name: 张三, age: 20}
  var map1 = Map();
  map1["name"] = "李四";
  print("map1 = $map1"); //map1 = {name: 李四}

  print(map.keys.toList()); //[name, age, sex]
  print(map.values.toList()); //[张三, 20, 男]
  print(map.isEmpty); //是否为空       false
  print(map.isNotEmpty); //是否不为空   true

  map.addAll({
    "work": ["厨师", "司机"],
    "height": 20,
  });
  print(map); //{name: 张三, age: 20, sex: 男, work: [厨师, 司机], height: 20}

  map.remove("sex");
  print(map); //{name: 张三, age: 20, work: [厨师, 司机], height: 20}

  print(map.containsKey("work")); //true
  print(map.containsValue("张三")); //true

List遍历

复制代码
  List list10 = ["西瓜", "苹果", "香蕉"];
  for (int i = 0; i < list10.length; i++) {
    print(list10[i]);
  }
  //
  list10.forEach((value) {
    print(value);
  });

  List list11 = [1, 3, 4];
  var newList11 = list11.map((value) {
    return value * 2;
  });
  print(newList11); //(2, 6, 8)
  print(newList11.toList()); //[2, 6, 8]

  //筛选满足条件的数据
  var newList12 = list11.where((value) {
    return value > 2;
  });
  print(newList12); //(3, 4)

  //只要集合里面有满足条件的就返回true
  var isHas = list11.any((value) {
    return value > 2;
  });
  print(isHas); //true

  //每一个都要满足条件的就返回true,否则返回false
  var isHasValue = list11.every((value) {
    return value > 2;
  });
  print(isHasValue); //false

Set遍历

复制代码
 var set3 = Set();
  set3.addAll(["111", "222", "333"]);

  set3.forEach((value) => print(value));

  set3.forEach((value) {
    print(value);
  });

  //map
  Map map6 = {"name": "张三", "age": 20};
  map6.forEach((key,value){
    print("$key = $value"); //name = 张三   age = 20
  });

  print(map6.containsValue( "张三"));
相关推荐
用户422744812462133 分钟前
flutter篇---Android gradle版本报错
flutter
KimLiu2 小时前
适合Android开发者的Flutter学习指南 : 一、搭建Flutter环境
android·前端·flutter
程序员Bears2 小时前
IntelliJ IDEA 2025系列通用软件安装教程(Windows版)
ide·windows·pycharm·webstorm
CHANG_THE_WORLD2 小时前
Windows DirectWrite接口 遍历字体信息
windows
Billy_Zuo3 小时前
Android Studio中创建第一个Flutter项目
android·flutter·android studio
yangshuo12815 小时前
风车邮箱系统详细使用指南:Windows与Ubuntu双平台解析
linux·windows·ubuntu
技术liul5 小时前
如何在iStoreOS DHCP中排除特定IP地址
网络·windows·tcp/ip
EQ-雪梨蛋花汤7 小时前
【Flutter】Unity 三端封装方案:Android / iOS / Web
android·flutter·unity