1.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
1)List里面的属性
void main(){
//List里面的属性:
List myList=['香蕉','苹果','西瓜'];
print(myList.length);
print(myList.isEmpty);
print(myList.isNotEmpty);
print(myList.reversed); //对列表倒序排序,输出为元组
var newMyList=myList.reversed.toList();
print(newMyList);
}
2)List里面的方法:
void main(){
List myList=['香蕉','苹果','西瓜'];
myList.add('桃子'); //增加数据 增加一个
myList.addAll(['桃子','葡萄']); //拼接数组
print(myList);
print(myList.indexOf('苹x果')); //indexOf查找数据 查找不到返回-1 查找到返回索引值
myList.remove('西瓜');
myList.removeAt(1);
print(myList);
}
void main(){
List myList=['香蕉','苹果','西瓜'];
myList.fillRange(1, 3,'aaa'); //修改
print(myList)
}
void main(){
List myList=['香蕉','苹果','西瓜'];
myList.insert(1,'aaa'); //插入 一个
myList.insertAll(1, ['aaa','bbb']); //插入 多个
print(myList);
}
void main(){
List myList=['香蕉','苹果','西瓜'];
var str=myList.join('-'); //list转换成字符串
print(str);
print(str is String); //true
}
void main(){
var str='香蕉-苹果-西瓜';
var list=str.split('-'); //字符串转换成List
print(list);
print(list is List); //Ture
}
2.Set
void main(){
var s=new Set();
s.add('香蕉');
s.add('苹果');
s.add('苹果');
print(s); //{香蕉, 苹果}
print(s.toList());
}
void main(){
List myList=['香蕉','苹果','西瓜','香蕉','苹果','香蕉','苹果'];
var s=new Set();
s.addAll(myList);
print(s);
print(s.toList());
}
3.Maps
映射(Maps)是无序的键值对:
常用属性:
keys 获取所有的key值
values 获取所有的value值
isEmpty 是否为空
isNotEmpty 是否不为空
常用方法:
remove(key) 删除指定key的数据
addAll({...}) 合并映射 给映射内增加属性
containsValue 查看映射内的值 返回true/false
forEach
map
where
any
every
1).常用属性
void main(){
Map person={
"name":"张三",
"age":20,
"sex":"男"
};
print(person.keys.toList()); //[name, age, sex]
print(person.values.toList()); //[张三, 20, 男]
print(person.isEmpty); //false
print(person.isNotEmpty); //true
}
2).常用方法
void main(){
Map person={
"name":"张三",
"age":20,
"sex":"男"
};
person.addAll({
"work":['敲代码','送外卖'],
"height":160
});
print(person);
person.remove("sex");
print(person);
print(person.containsValue('张三'));
}
}
3.forEach map where any every
1)forEach
循环元素
void main(){
List myList=['香蕉','苹果','西瓜'];
for(var i=0;i<myList.length;i++){
print(myList[i]);
}
}
void main(){
List myList=['香蕉','苹果','西瓜'];
for(var item in myList){
print(item);
}
}
void main(){
List myList=['香蕉','苹果','西瓜'];
// myList.forEach((key,value){
// print('$key---$value');
// });
myList.forEach((value){
print("$value");
});
}
2)map
修改数组的数据 map
void main(){
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]
}
3)where
查找数组
void main(){
List myList=[1,3,4,5,7,8,9];
var newList=myList.where((value){
return value>5;
});
print(newList.toList()); //[7, 8, 9]
}
4)any
只要有满足条件就返回true
void main(){
List myList=[1,3,4,5,7,8,9];
var f=myList.any((value){ //只要集合里面有满足条件的就返回true
return value>5;
});
print(f); //true
}
5)every
每一个都满足条件返回true 否则返回false
void main(){
List myList=[1,3,4,5,7,8,9];
var f=myList.every((value){ //每一个都满足条件返回true 否则返回false
return value>5;
});
print(f); //false
}
针对Set
void main(){
var s=new Set();
s.addAll([1,222,333]);
s.forEach((value)=>print(value));
}
针对map
void main(){
Map person={
"name":"张三",
"age":20
};
person.forEach((key,value){
print("$key---$value");
});
}
