数据类型
List、Set和Map的常用方法
1.forEach()
此方法用于遍历List、Set和Map中的所有元素。
List myList = ['香蕉','苹果','西瓜'];
myList.forEach((value) { //遍历每一个元素
print(value); //输出每一个元素
});
Map map = new Map();
map['name'] = '张三';
map['age'] = 12;
map['address'] = '江苏';
map.forEach((key,value) { //遍历每一个key-value对
print('key = $key' , value = $value');//按key='',value=''的格式输入key-value对
});
List lists = [1,2,3,4];
lists.forEach((value) {
print(value);
});
//将lists中的每个元素值加一
var lists2 = lists.map((value) {
return value + 1;
});
print(lists2);
输出:
I/flutter ( 2352): 1
I/flutter ( 2352): 2
I/flutter ( 2352): 3
I/flutter ( 2352): 4
I/flutter ( 2352): (2, 3, 4, 5)
2.where()
此方法用于过滤List或Set中的数据元素,并返回一个集合(Set).
List intList = [1,2,3,4,5,6,7];
//将intList中大于3的元素过滤出来
var newIntList = inList.where((value){
return value > 3;
});
print(newIntList);//输出:(4,5,6,7)
4.any()
此方法用于判断List和Set中的数据元素只要有一个满足条件,返回值为true.
Set sets = {1,2,3,4,5,6,7};
var flag = sets.any((value) {
return value > 6;//如果满足一个大于6的value,就返回true
});
print(flag); //输出:true
5.every()
此方法用于判断List或Set中的数据元素全部满足条件,返回值为true.
Set sets = {1,2,3,4,5,6,7};
var flag = sets.every((vaue) {
return value > 6; //如果满足所有元素都大于6,则返回true
});
print(flag); //输出:false