dart语言中List数组定义,属性,方法,遍历
一、两种定义方式
1.静态
var list=['a','b','c'];
2.动态
var list=new List();
list.add('a');
list.add('b');
list.add('c');
二、属性和方法
1.属性
常用属性:
1.length 长度
2.reversed 翻转
3.isEmpty 是否为空
4.isNotEmpty 是否不为空
这里值得注意的是,翻转过后的数组,要用toList方法,才能成为一个新的数组(该方法后面会将)。
List list=['a','b','c'];
List list1=list.reversed;
print(list); //结果为:(c,b,a)
print(list.toList); //结果为:[c,b,a]
2.方法
代码如下(示例):
常用属性:
1.add 增加
2.addAll 拼接数组
3.indexOf 查找 传入具体值
4.remove 删除 传入具体值
5.removeAt 删除 传入索引值
6.fillRange 修改
7.insert(index,value) 指定位置插入
8.insertAll(index,value) 指定位置插入数组
9.toList 其他类型转换为List类型
代码实现
注:
惰性的删除
我们重新定义一个数组。
var myList=['a','b','c','b'];
//用传入确定值的函数删除字符 b。
myList.remove('b');
print(myList);
思考?打印的list
最后的答案是:a,c,b
我们不难知道,该函数删除有惰性,比如有多个重复值时,只删除第一个。
修改和插入
这里要注意的是,传入函数的参数(确定位置)是在哪,我图中画的差不多挺好理解了,可以理解为就是数值间的空位。
三、数组的遍历
1.普通遍历
2.forEach函数
注:forEach括号内是一个函数体,其中value是自己取名的参数(可以用其他词代替)。参数实际指的时数组中的值。
3.map函数枣庄人流医院哪个好 http://mobile.3635555.cn/
思考?
这里我们假设直接map换成forEach行吗(其他不变)?
结果时会报错,因为forEach函数的返回类型为void(就是没有返回值)
4.where函数
打印的结果:[7,8,9]
思考?
这里将函数where改成map又是怎样的打印情况?
打印结果:[false, false,false,true, true, true]。
注:前面说到,map函数返回的是表达式的结果
4.any和every
这个就来的直白了。
1.any任一满足,就返回true,反则false。
2.every全部满足,才返回true,反则false。
- 点赞
- 收藏
- 关注作者
评论(0)