Johu

04-Dart list set map 方法

本篇从大地老师《Dart 入门实战教程》学习整理而来。

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

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); // {香蕉, 苹果, 西瓜}

Map

常用属性

  • keys 获取所有的key值
  • values 获取所有的value值
  • isEmpty 是否为空
  • isNotEmpty 是否不为空

常用方法

  • remove(key) 删除指定key的数据
  • addAll({...}) 合并映射 给映射内增加属性
  • containsValue 查看映射内的值 返回true/false
  • forEach
  • map
  • where
  • any
  • every

forEach map where any every

// forEach
List myList=['香蕉','苹果','西瓜'];
myList.forEach((value){
  print("$value");
});

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

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

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

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

// every
List myList=[1,3,4,5,7,8,9];

var f=myList.every((value){   //每一个都满足条件返回true  否则返回false
  return value>5;
});
print(f);
posted @ 2021-12-15 20:34  Johu  阅读(110)  评论(0编辑  收藏  举报