一、List
List 常用方法如下,一般都可以通过名字来判断其含义,比如 add、remove.....
image.png
下面记录一下不常用的方法:
-
fillRange
List范围修改方法,如下
List<String> stringList=List<String>();
stringList.add('s1');
stringList.add('s2');
stringList.add('s3');
stringList.add('s4');
print('修改前: $stringList');
stringList.fillRange(0, 2,'a1');//代表将第 0、1 位数据修改为‘a1’
print('修改后: $stringList');
image.png
-
join
将List以"xx"分割开并转化为String,如下
List<String> stringList=List<String>();
stringList.add('s1');
stringList.add('s2');
stringList.add('s3');
stringList.add('s4');
var str=stringList.join(',');//join ,将List以","分割开
print(str);
join.png
-
split
切割字符串
var arr='s1-s2-s3';
//将字符串,通过‘-’ 切割为List
List<String> arrList=arr.split('-');
print(arrList);
二、Set
Set: 无序,且 不重复 的集合(不能通过索引来取值,主要功能去除数组中重复内容)
1,不重复 特性
-
set 添加重复数据
set不重复.png -
使用set去除重复数据
List sList = List();
sList..add('s1')
..add('s2')
..add('s1')
..add('s3');
print('List 数据为:$sList');
//使用Set去除重复数据
Set set=new Set();
set.addAll(sList);//将List中数据添加到set中来
print('set数据为: $set');
sList=set.toList(); //将set转换为List
print('经过Set去重后List 数据为:$sList');
image.png
三、Map
1,创建map有两种方式:
//创建map方式1
var m1={
'm1-1':1,
'm1-2':2
};
print('m1 = $m1');
//创建map方式2
var m2=new Map();
m2['m2-1']=1;
m2['m2-2']=3;
print('m2 = $m2');
2,map 常用方法、属性
print('获取所有的key值:${m2.keys}');
print('获取所有的value值:${m2.values}');
print('Map不为空:${m2.isNotEmpty}');
print('Map为空:${m2.isEmpty}');
.....
//添加数据,使用 addAll
m2.addAll({
'name':'zhangsan',
'age':11
});
四、List、Set、Map 常见方法
1,遍历
- for循环、for in 方式
- foreach方法
//1,使用for循环遍历List
List<String> stringList = List<String>();
stringList.add('s1');
stringList.add('s2');
for (int i = 0; i < stringList.length; i++) {
print('i = $i , 值为: ${stringList[i]}');
}
//2,for in 遍历
for(var s in stringList) {
print('for in 遍历List: $s');
}
//3,foreach
stringList.forEach((s){
print('foreach遍历List: $s');
});
image.png
set 也可以使用 in foreach 方法遍历,如下:
//set 遍历方法
Set set = new Set();
set..add('set1')..add('set2')..add('set3');
for (var s in set) {
print('Set 使用 in 遍历$s');
}
print('--------------------------');
set.forEach((s) {
print('Set 使用 forEach 遍历$s');
});
print('--------------------------');
//只有一行,可以使用箭头函数代替
set.forEach((value)=>print('Set 使用 forEach 遍历$value'));
image.png
Map集合 也可以使用 foreach 方法遍历,如下:
Map map=new Map();
map['name']='zhangsan';
map['name2']='zhangsan2';
map.forEach((key,value){
print('key = $key , value = $value');
});
image.png
2,map 方法: 用于修改原集合数据
例如:
List<String> stringList = List<String>();
stringList.add('old1');
stringList.add('old2');
print(stringList);
//使用 List.map 方法,修改集合中的数据
var newList=stringList.map((value){
//在原集合基础上,每一个value 都加 "aa";
return value+' aa';
});
print('map方法调用后:$newList');
image.png
3,where :根据条件,生成新的集合
例如:筛选出大约3的数据,生成一个新的集合
List intList=[1,2,3,4,5,6,7];
//where 根据条件,生成新的集合
var newIntList=intList.where((value){
return value>3;
});
print(newIntList);//输出 (4, 5, 6, 7)
4,any :有一个满足条件就返回 true
List intList = [1, 2, 3, 4, 5, 6, 7];
//any :有一个满足条件就返回 true
var any = intList.any((value) {
return value > 1;//如果满足一个大于 1 的value,就返回true
});
print(any);// true
5, every : 每一个值都满足该条件,则返回true
List intList = [1, 2, 3, 4, 5, 6, 7];
//every : 每一个值都满足该条件,则返回true
var every = intList.every((value) {
return value > 1;
});
print(every);// false
注:set、List、Map 都包含上述方法,用法基本一致
网友评论