【笔记】Dart的List集合

前言

Dart的List集合学习笔记

定义集合

声明集合

1
List list;

定义不定长的集合

1
List list = [数据, 数据];

过时的语法

  • 只能用在旧版
1
List list = new List();

定义集合时指定数据类型

1
List list = <数据类型>[数据, 数据];

定义空集合

1
List list = [];

定义固定长的集合

1
List list = List.filled(长度, 填充的内容);

指定集合中存放的数据类型

1
List list = List<数据类型>.filled(长度, 填充的内容);

直接操作集合中的元素

获取元素

1
list[下标];

修改元素

1
list[下标] = 数据;

集合中的属性

获取集合长度

1
list.length;

强制改变集合长度

1
list.length = 长度;

判断集合是否为空

1
list.isEmpty;

判断集合是否不为空

1
list.isNotEmpty;

集合倒序排列

1
list.reversed;

将集合倒序后赋值给新集合

1
list = list.reversed.toList();

集合中的方法

末尾追加数据

  • 固定长度的集合不能追加数据

追加一个数据

1
list.add(数据);

追加多个数据

  • 追加List集合
1
list.addAll([数据, 数据]);

查找集合中的元素

  • 如果能查到,返回数据在集合中的索引值
  • 如果不能查到,返回-1
1
list.indexOf(数据);

删除元素

根据数据删除数据

1
list.remove(数据);

根据下标删除数据

1
list.removeAt(数据在集合中的下标);

批量修改元素

  • 修改[<start>, <end>)下标位置的元素

<start>:开始修改的元素下标
<end>:结束修改的元素下标

1
list.fillRange(<start>, <end>, 改后的数据);

插入数据

  • 在指定位置插入数据

插入一个数据

1
list.insert(插入数据下标, 数据);

插入多个数据

  • 插入List集合
1
list.insertAll(插入数据下标, [数据, 数据]);

集合转换成字符串

  • 将集合中的所有元素通过指定分隔符拼接为字符串
1
list.join("分隔符");

字符串转换成集合

  • 根据分隔符分割字符串,返回一个集合
1
str.split("分隔符")

遍历集合

for

1
2
3
for (int i = 0; i < list.length; i++) {
print(list[i]);
}

for…in

1
2
3
for (var item in list) {
print(item)
}

forEach

1
2
3
list.forEach((item){
print(item)
});

批量修改数据

  • 返回批量修改数据后的集合
1
2
3
List list = list.map((item){
return item*2;
});

批量筛选数据

返回新数组

1
2
3
List list = list.where((item){
return item>1;
});

返回判断结果

  • 只要有一个数据满足条件,就返回true
1
2
3
bool flag = list.any((item){
return item>1;
});
  • 必须全部满足条件,才会返回true
1
2
3
bool flag = list.every((item){
return item>1;
});

完成

参考文献

哔哩哔哩——筱筱知晓