Dart集合类型List、Set、Map以及循环语句forEach、map、any、every

void main() {
  // 常用属性和方法

  List lists = ["语文", "英语", "数学"];
  print(lists[1]);

  var list = new List();
  list.add("语文");
  list.add("英语");
  list.add("数学");
  print(list[0]);

  //List里面的属性

  print(list.length);
  print(list.isEmpty);
  print(list.isNotEmpty);
  print(list.reversed.toList());

  //List里面的方法
  list.add("物理");
  print(list);
  list.addAll(["化学", "地理"]);
  print(list);
  print("----------0");
  //查找不到返回-1,否则返回索引
  print(list.indexOf("化学"));
  print("----------1");
  //删除元素
  list.remove("地理");
  print(list);

  //把英语修改为English
  list.fillRange(1, 2, "English");
  print("----------2");
  print(list);
  print("----------3");
  //插入数据
  list.insert(2, "生物");
  print(list);
  print("----------4");
  //list 转换为字符串
  var str = list.join(",");
  print(str);
  print("----------5");

  //字符串转换为List
  var myList = str.split(",");
  print(myList);
  print("----------6");

  //Set集合:没有顺序且不能重复的集合
  var set = new Set();
  set.add("苹果");
  set.add("橘子");
  set.add("橙子");
  print(set);
  print("----------7");
  print(set.toList());

  print("----------8");

  //利用set去除重复数据
  List list1 = ["苹果", "香蕉", "苹果", "香蕉", "苹果"];
  print(list1);
  var s = new Set();
  s.addAll(list1);
  print(s.toList());
  print("----------9");

  //Map

  var person = {"name": "王五", "age": 30};
  print(person);
  print("----------10");
  var map = new Map();
  map["name"] = "张三";
  map["age"] = 28;
  print(map);

  print("----------11");
  //常用属性
  //获取所有的key
  print(person.keys.toList());
  print("----------12");
  //获取所有的valus
  print(person.values.toList());

  print("----------13");
  print(person.isEmpty);
  print(person.isNotEmpty);
  print("----------14");
  //常用方法
  person.addAll({"sex": "男"});
  print(person);

  print("----------14");
  person.remove("name");
  print(person);
  print("----------15");
  print(person.containsKey("age"));
  print(person.containsValue(30));

  print("----------16");

  // forEach、map、where、any、every  可用于List Map、Set
  List l = ["南京", "北京", "蚌埠", "合肥"];
  //for循环
  for (var i = 0; i < l.length; i++) {
    print(l[i]);
  }

  print("----------17");

  //for in
  for (var item in l) {
    print(item);
  }
  print("----------18");
  //forEach
  l.forEach((item) {
    print(item);
  });

  print("----------19");
  //map
  var list2 = l.map((value) {
    return value + "1";
  });
  print(list2.toList());
  print("----------20");
  //where
  List list3 = [1, 3, 5, 7, 9, 10];
  var list4 = list3.where((value) {
    return value > 5;
  });
  print(list4.toList());

  print("----------21");

  //any 只要集合中有满足条件的返回true
  List list5 = [1, 3, 5, 7, 9, 10];
  var b = list5.any((value) {
    return value > 5; //只要集合中有满足条件的返回true
  });
  print(b);

  print("----------22");
  //every 只要集合中每一个都满足条件的返回true
  List list6 = [1, 3, 5, 7, 9, 10];
  var b1 = list6.every((value) {
    return value > 5; //只要集合中每一个都满足条件的返回true
  });
  print(b1);

  print("----------23");
  //Set
  var sets = new Set();
  sets.addAll(["11", "22", "33"]);
  sets.forEach((value) => print(value));

  print("----------24");
  //Map
  var persons = {"name": "王五", "age": 30};
  persons.forEach((key, value) {
    print("$key:$value");
  });
}

输出:

[Running] dart "/Users/zhoujian/DartDemo/listDemo.dart"
英语
语文
3
false
true
[数学, 英语, 语文]
[语文, 英语, 数学, 物理]
[语文, 英语, 数学, 物理, 化学, 地理]
----------0
4
----------1
[语文, 英语, 数学, 物理, 化学]
----------2
[语文, English, 数学, 物理, 化学]
----------3
[语文, English, 生物, 数学, 物理, 化学]
----------4
语文,English,生物,数学,物理,化学
----------5
[语文, English, 生物, 数学, 物理, 化学]
----------6
{苹果, 橘子, 橙子}
----------7
[苹果, 橘子, 橙子]
----------8
[苹果, 香蕉, 苹果, 香蕉, 苹果]
[苹果, 香蕉]
----------9
{name: 王五, age: 30}
----------10
{name: 张三, age: 28}
----------11
[name, age]
----------12
[王五, 30]
----------13
false
true
----------14
{name: 王五, age: 30, sex: 男}
----------14
{age: 30, sex: 男}
----------15
true
true
----------16
南京
北京
蚌埠
合肥
----------17
南京
北京
蚌埠
合肥
----------18
南京
北京
蚌埠
合肥
----------19
[南京1, 北京1, 蚌埠1, 合肥1]
----------20
[7, 9, 10]
----------21
true
----------22
false
----------23
11
22
33
----------24
name:王五
age:30

[Done] exited with code=0 in 1.083 seconds

发布了272 篇原创文章 · 获赞 68 · 访问量 40万+

猜你喜欢

转载自blog.csdn.net/u014005316/article/details/104293161