六、Dart中的集合类型
Dart 提供了一系列的集合类型,其中包括 Map 和 Set。本文将简要介绍 Dart 中的 Map 和 Set,以及如何在 Dart 中使用这两种数据结构。
1.Dart中的List
Dart中的List是一种重要的数据类型,可以存储一系列有序的元素,元素的类型可以是任意类型,包括数字,字符串,布尔值,对象,甚至是其他List。它类似于其他编程语言中的数组,但具有更多的内置方法和功能。
创建和初始化List
在Dart中,你可以通过几种不同的方式创建和初始化List:
// 创建空列表var emptyList = []; // 创建具有几个初始元素的列表var initializedList = [1, 2, 3, 4, 5]; // 使用List构造函数创建列表var listWithConstructor = List.filled(5, 0); // 创建一个包含5个0的列表
访问和修改List元素
你可以使用索引(从0开始)来访问和修改List中的元素:
var myList = [1, 2, 3];print(myList[0]); // 输出1 myList[0] = 10;print(myList[0]); // 输出10
List的主要方法
List类提供了一些方法来处理和操作列表。以下是一些常用的List方法:
- add(element): 在List的末尾添加一个元素
- insert(index, element): 在指定索引处插入一个元素
- remove(element): 删除列表中首个匹配的元素
- removeAt(index): 删除指定索引处的元素
- indexOf(element): 查找指定元素的索引,如果元素不存在,则返回-1
- contains(element): 检查列表是否包含指定元素,如果包含则返回true,否则返回false
- sort([compareFunction]): 对List的元素进行排序,可以提供一个可选的比较函数
以下是这些方法的使用示例:
var myList = [1, 2, 3]; myList.add(4);print(myList); // 输出 [1, 2, 3, 4] myList.insert(0, 0);print(myList); // 输出 [0, 1, 2, 3, 4] myList.remove(2);print(myList); // 输出 [0, 1, 3, 4] myList.removeAt(0);print(myList); // 输出 [1, 3, 4] print(myList.indexOf(3)); // 输出 1 print(myList.contains(2)); // 输出 false myList.sort();print(myList); // 输出 [1, 3, 4]
2.Dart中的Map
Dart中的Map是一种无序的键值对集合,其中的键和值都可以是任何类型。它是一个动态集合,这意味着你可以在运行时向其中添加或删除键值对。Map在很多场景下都很有用,例如,当你需要通过一种方式(键)来查找或访问数据(值)时。
创建和初始化Map
在Dart中,你可以通过以下几种方式创建和初始化Map:
// 创建空的Mapvar emptyMap = {}; // 创建并初始化Mapvar initializedMap = { 'key1': 'value1', 'key2': 'value2', 'key3': 'value3',}; // 使用Map构造函数创建Mapvar mapWithConstructor = Map();
访问和修改Map元素
你可以通过键来访问和修改Map中的值:
var myMap = { 'key1': 'value1', 'key2': 'value2',}; print(myMap['key1']); // 输出 'value1' myMap['key1'] = 'new value1';print(myMap['key1']); // 输出 'new value1'
带你读《深入浅出Dart》六、Dart中的集合类型(2)https://developer.aliyun.com/article/1349071?groupCode=tech_library