Dart 6-Day

List

  • 常用属性:
    • length 长度
    • reversed 翻转
    • isEmpty 是否为空
    • isNotEmpty 是否不为空
  • 常用方法:
    • add 增加
    • addAll 拼接数组
    • indexOf 查找 传入具体值
    • remove 删除 传入具体值
    • removeAt 删除 传入索引值
    • fillRange 修改
    • insert(index,value); 指定位置插入
    • insertAll(index,list) 指定位置插入List
    • toList() 其他类型转换成List
    • join() List转换成字符串
    • split() 字符串转化成List
    • forEach
    • map
    • where
    • any
    • every

创建List

// 方式一
  List myList=['香蕉','苹果','西瓜'];
  print(myList[1]); // 苹果

// 方式二
  var list=new List();
  list.add('111');
  list.add('222');
  print(list); // [111, 222]

List属性


List myList = ['香蕉', '苹果', '西瓜'];
print(myList.length); // 3
print(myList.isEmpty); // 是否为空 false
print(myList.isNotEmpty);// 是否不为空 true
print(myList.reversed); // 对列表倒序排序 (西瓜, 苹果, 香蕉)
var newMyList = myList.reversed.toList();
print(newMyList); // [西瓜, 苹果, 香蕉]

List方法

List myList=['香蕉','苹果','西瓜’];

// 增加数据
  myList.add('桃子');   // 增加数据  增加一个
  myList.addAll(['桃子','葡萄']);  // 拼接数组 增加多个数据
  print(myList); // [香蕉, 苹果, 西瓜, 桃子, 桃子, 葡萄]

// 查找数据
  print(myList.indexOf('苹x果')); // indexOf查找数据 查找不到返回-1 查找到返回索引值

// 删除数据
  myList.remove('西瓜’);  // remove删除一个数据
  myList.removeAt(1); // 通过索引 删除一个数据
  print(myList);  // [香蕉, 桃子, 桃子, 葡萄]

// 修改数据
  List myList=['香蕉','苹果','西瓜'];
  myList.fillRange(1, 2,'aaa'); // 修改数据,修改 1,2  包括1,2之前的数据
  myList.fillRange(1, 3,'aaa');
  print(myList);// [香蕉, aaa, aaa]

// 插入数据
  myList.insert(1,'aaa'); // 插入单个数据 
  myList.insertAll(1, ['aaa','bbb']); // 插入多个数据
  print(myList); // [香蕉, aaa, bbb, aaa, aaa, aaa]

// 转换为字符串
  List myList=['香蕉','苹果','西瓜'];
  var str=myList.join('-'); //list转换成字符串
  print(str); // 香蕉-苹果-西瓜
  print(str is String); // true

// 字符串转List
  var str = '香蕉-苹果-西瓜';
  var list = str.split('-');
  print(list); // [香蕉, 苹果, 西瓜]
  print(list is List); // true

Set

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

  var s=new Set();
  s.add('香蕉');
  s.add('苹果');
  s.add('苹果');
  print(s); // {香蕉, 苹果}
  print(s.toList()); // [香蕉, 苹果]

  List myList=['香蕉','苹果','西瓜','香蕉','苹果','香蕉','苹果'];
  var s=new Set();
  s.addAll(myList);
  print(s); // {香蕉, 苹果, 西瓜}
  print(s.toList()); // [香蕉, 苹果, 西瓜]

Maps

映射(Maps)是无序的键值对:

  • 常用属性:
    • keys            获取所有的key值
    • values          获取所有的value值
    • isEmpty         是否为空
    • isNotEmpty      是否不为空
  • 常用方法:
    • remove(key)     删除指定key的数据
    • addAll({...})   合并映射  给映射内增加属性
    • containsValue   查看映射内的值  返回true/false
    • forEach
    • map
    • where
    • any
    • every

创建Maps

  Map person={
    "name":"张三",
    "age":20
  };

  var m=new Map();
  m["name"]="李四";
  print(person);  // {name: 张三, age: 20}
  print(m); // {name: 李四}

常用属性

Map person = {"name": "张三", "age": 20, "sex": "男"};

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

常用方法

Map person = {"name": "张三", "age": 20, "sex": "男"};
person.addAll({
    "work": ['敲代码', '送外卖'],
    "height": 160
}); // 增加值
print(person); // {name: 张三, age: 20, sex: 男, work: [敲代码, 送外卖], height: 160}
person.remove("sex”); // 删除key 
print(person); // {name: 张三, age: 20, work: [敲代码, 送外卖], height: 160}
print(person.containsValue('张三')); // true value是否存在 张三

List、Set、Map 循环

  • forEach
  • map
  • where
  • any
  • every

List循环

List myList = ['香蕉', '苹果', '西瓜'];

**// for**
  for (var i = 0; i < myList.length; i++) {
    print(myList[i]); // 香蕉  苹果  西瓜
  }

// for in
  for (var item in myList) {
    print(item);
  }

// forEach
  myList.forEach((value) {
    print("$value");
  });

// 循环添加
  List myList = [1, 3, 4];
  List newList = new List();
  for (var i = 0; i < myList.length; i++) {
    newList.add(myList[i] * 2);
  }
  print(newList); // [2, 6, 8]

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

// where满足条件返回
  List myList = [1, 3, 4, 5, 7, 8, 9];
  var newList = myList.where((value) {
    return value > 5;
  });
  print(newList.toList()); // [7, 8, 9]

// any只要存在满足条件返回 true 否则 false
  List myList = [1, 3, 4, 5, 7, 8, 9];
  var f = myList.any((value) {
    return value > 5; // 只要集合里面有满足条件的就返回true
  });
  print(f); // true

// every全部满足返回 true 否则 false
  List myList = [1, 3, 4, 5, 7, 8, 9];
  var f = myList.every((value) {
    return value > 5; // 每一个都满足条件返回true  否则返回false
  });
  print(f);

Set

var s = new Set();
s.addAll([1, 222, 333]);
s.forEach((value) => print(value)); // 1 222 333

Map

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

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your teamhttps://serious-lose.notion.site/Dart-6-Day-0902436ce7e84fcbb9179a534c01e9f4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值