Dart语言学习 - 10 列表
本节目标
环境
初始
List 是一个有序列表
1 2
| var l = [1, 2, 3]; print(l);
|
声明
自动
1 2 3 4 5 6
| List<int> l = new List(); l ..add(1) ..add(2) ..add(3); print(l);
|
定长
1 2 3 4 5 6
| List<int> l = new List(3);
l[0] = 1; l[1] = 2; l[2] = 3; print(l);
|
属性
名称 |
说明 |
isEmpty |
是否为空 |
isNotEmpty |
是否不为空 |
first |
第一个对象 |
last |
最后一个对象 |
length |
个数 |
reversed |
反转 |
1 2 3 4 5 6 7
| var l = [1, 2, 3]; print(l.first); print(l.last); print(l.length); print(l.isEmpty); print(l.isNotEmpty); print(l.reversed);
|
方法
名称 |
说明 |
add |
添加 |
addAll |
添加多个 |
insert |
插入 |
insertAll |
插入多个 |
indexOf |
查询 |
indexWhere |
按条件查询 |
remove |
删除 |
removeAt |
按位置删除 |
fillRange |
按区间填充 |
getRange |
按区间获取 |
shuffle |
随机变换顺序 |
sort |
排序 |
sublist |
创建子 |
添加
1 2 3 4 5 6 7 8
| List<int> l = new List();
l ..add(1) ..addAll([2, 3, 4, 5]) ..insert(0, 6) ..insertAll(6, [6, 6]) ;
|
查询
1 2
| print(l.indexOf(5)); print(l.indexWhere((it) => it == 4));
|
删除
1 2 3 4
| l.remove(6); print(l); l.removeAt(5); print(l);
|
Range
1 2
| l.fillRange(0, 3, 9); print(l.getRange(0, 5));
|
洗牌
1 2 3 4
| l.shuffle(); print(l); l.shuffle(); print(l);
|
排序
1 2 3 4 5 6 7 8 9 10 11 12 13
| 数字 l.sort(); print(l); 日期 List<DateTime> dtList = new List(); dtList.addAll([ DateTime.now(), DateTime.now().add(new Duration(days: -12)), DateTime.now().add(new Duration(days: -2)) ]); print(dtList); dtList.sort((a, b) => a.compareTo(b)); print(dtList);
|
复制子列表
1 2 3
| print(l); var l2 = l.sublist(1,4); print(l2);
|
操作符
1 2 3 4 5
| var l1 = [1, 2, 3]; var l2 = [4, 5, 6]; print(l1 + l2); l1[2] = 9; print(l1[2]);
|
代码
参考
© 猫哥
https://ducafecat.tech
邮箱 ducafecat@gmail.com / 微信 ducafecat / 留言板 disqus