Dart基础知识
一、Set(另一种定义集合类型的方法)
1.主要功能:去除数组中重复的内容
void main(){
var s = new Set();
s.add('王一博');
s.add('王二博');
s.add('王一博');
print(s);
//output:{王一博,王二博}
//转换成List类型
print(s.toList());
//output:[王一博,王二博]
}
2.一些具体的使用
//定义数组
List myList = {'王一博','王二博','王一博','王一博','王二博'};
//去重:(1)for循环;(2)Set类
var s = new Set();
s.addAll(myList); //一次性增加多个数据
print(s);
//output:{王一博,王二博} //集合
print(s.toList()); //完成数组去重
//output:[王一博,王二博]
二、映射(Maps)
无序的键值对
1.常用属性
属性 | 功能 |
---|---|
keys | 获取所有的key值 |
values | 获取所有的value值 |
isEmpty | 是否为空 |
isNotEmpty | 是否不为空 |
2.常用方法
方法 | 功能 |
---|---|
remove(key) | 删除指定key的数据 |
addAll({…}) | 合并映射,给映射内增加属性 |
containsValue | 查看映射内的值,返回true/false |
3.使用
(1)定义
//定义Map类型
var person1 = {
"name" : "王一博",
"age" : 27
};
//另一种定义
var person2 = new Map();
person["name"] = "王一博";
print(person1);
print(person2);
//output:{name:王一博,age:27}
//output:{name:王一博}
(2)属性
var person1 = {
"name" : "王一博",
"age" : 27
};
print(person.keys);
//output:(name,age)
print(person.keys.toList());
//output:[name,age]
print(person.values.toList());
//output:[王一博,27]
(3)方法
var person1 = {
"name" : "王一博",
"age" : 27
};
//批量增加key
person.addAll({
"sex":"男",
"work":["明星","赛车手"]
});
print(person);
//output:{name:王一博,age:27,sex:男,work:[明星,赛车手]}
//删除指定key
person.remove("sex");
print(person);
//output:{name:王一博,age:27,work:[明星,赛车手]}
//查找指定value
print(person.containsValue('王一博'));
//output:true
三、通用方法(List,Map,Set)
1.循环(forEach())
List myList = {'王一博','王一博','王三博','王一博','王二博'};
//循环:(1)for循环;
for(var i = 0; i<myList.length; i++){
print(myList[i]);
}
for(var item in myList){
print(item);
}
//(2)调用方法
myList.forEach((value){//只能传入一个值
print("$value");
});
//set
var s = new Set();
s.addAll([1,2,3]);
s.forEach((value)=>print(value));
//output:1
// 2
// 3
//map
var person = {
"name" : "王一博",
"age" : 27
};
person.forEach((key,value){
print("$key---$value");
});
//output:name---王一博
// age---27
2.修改集合里的值(map())
//修改集合里的值
List myList = [1,2,3,4];
//(1)for循环;(2)调用方法
var newList = myList.map((value){
return value*2;
});
print(newList);
//output:[2,4,6,8]
3.把满足条件的值返回成一个新的集合(where())
//把满足条件的值返回成一个新的集合
List myList = [1,2,3,4];
var newList = myList.where((value){
return value > 2;
});
print(newList);
//output:[3,4]
4.判断List里有没有满足条件的数据(any())
有返回true,没有则返回false
List myList = [1,2,3,4,5,6,7,8];
var f = myList.any((value){
return value>5;
});
print(f);
//output:true
5.集合中每一个都要满足条件(every())
List myList = [1,2,3,4,5,6,7,8];
var f = myList.every((value){
return value>5;
});
print(f);
//output:false