本节目标

  • 初始、声明
  • 常用属性
  • 常用方法

环境

  • Dart 2.0.0

初始

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);
// print(l[0]);
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