Flutter 中的 List
类型提供了一系列常用的方法,可以方便我们对列表做增删改查等操作:
定义和初始化
定义一个空列表:
List <T> listName = new List<T>(); // 方式1
List <T> listName = []; // 方式2,语法糖
初始化一个含有固定元素个数的列表:
List<int> listName = List<int>(3); // [null, null, null]
初始化一个含有初始元素的列表:
List<int> listName = [1, 2, 3]; // [1, 2, 3]
List<String> listName = ["a", "b", "c"]; // ["a", "b", "c"]
增加元素
在列表末尾添加一个元素:
list.add(element);
在列表指定位置插入一个元素:
list.insert(index, element);
insert方法的使用注意如下:
1、index必须是在 0 到 list.length 之间的整数,否则会抛出RangeError异常。
2、element可以是任何类型的对象,包括Null值和其他集合类型。
3、如果index已经超过了当前列表的长度,则在插入元素后剩余的新元素将会设为null。
4、如果要在 list 的开头插入元素,建议使用 insert(0, element) 的方式,而不是 insert(-1, element) 的方式,因为后者会非常慢,而且不稳定。
在列表末尾添加另一个列表的所有元素:
list.addAll(anotherList);
删除元素
从列表中删除指定位置的元素:
list.removeAt(index);
从列表中删除指定元素的第一个匹配项:
list.remove(element);
从列表中删除指定元素的所有匹配项:
list.removeWhere((element) => expression);
从列表中删除所有元素:
list.clear();
更新元素
根据索引位置更新元素:
list[index] = element;
查找元素
获取列表的长度:
list.length;
查找指定元素的索引位置:
list.indexOf(element);
从后往前查找指定元素的索引位置:
list.lastIndexOf(element);
按照特定规则查找元素:
list.firstWhere((element) => expression, orElse: () => defaultValue);
list.lastWhere((element) => expression, orElse: () => defaultValue);
其他
获取子列表:
list.sublist(startIndex, endIndex);
判断列表是否为空:
list.isEmpty;
将列表转换为字符串:
list.toString();
这只是列举了常用的一些操作,如果需要其他的操作,可以查看官方文档中的 List
类的定义。
Flutter 官方文档中关于 Dart 语言 List 类的介绍可以在以下网址查看:
https://api.dart.dev/stable/2.12.4/dart-core/List-class.html
如果您需要查看 Flutter 框架内预置的 List 类和相关实现类的详细介绍,可以在以下网址查看:
https://api.flutter.dev/flutter/dart-core/List-class.html