返回

Dart语法之List & Map:深入浅出,玩转数组与字典

前端

List

List是Dart中的一种数组类型,可以存储多个元素。List的元素类型可以是任何类型,包括其他List或Map。

可变List

List的元素是可以改变的,因此称为可变List。可以通过List的索引来访问和修改其中的元素。例如:

List<int> numbers = [1, 2, 3, 4, 5];
numbers[0] = 6; // 将第一个元素修改为6
print(numbers); // 输出:[6, 2, 3, 4, 5]

常用方法

List提供了许多常用的方法,可以帮助您轻松地操作List。这些方法包括:

  • add(): 向List的末尾添加一个元素。
  • remove(): 从List中删除一个元素。
  • insert(): 在List中的指定位置插入一个元素。
  • sort(): 对List中的元素进行排序。
  • shuffle(): 将List中的元素打乱。
  • reversed: 返回一个与List相反顺序的新List。

排序和截取

List可以被排序或截取。排序可以使用sort()方法,而截取可以使用sublist()方法。例如:

List<int> numbers = [1, 2, 3, 4, 5];

// 排序List
numbers.sort();
print(numbers); // 输出:[1, 2, 3, 4, 5]

// 截取List
List<int> sublist = numbers.sublist(2);
print(sublist); // 输出:[3, 4, 5]

Map

Map是一种键值对的数据结构,可以将键与值进行关联。Map中的键必须是唯一的,而值可以是任何类型。

创建Map

Map可以通过两种方式创建:

  • 使用Map()构造函数:
Map<String, int> ages = Map();
ages['John'] = 20;
ages['Mary'] = 25;
  • 使用{}花括号:
Map<String, int> ages = {'John': 20, 'Mary': 25};

访问和修改Map

Map中的键值对可以通过键来访问和修改。例如:

Map<String, int> ages = {'John': 20, 'Mary': 25};

// 访问Map中的值
int johnsAge = ages['John'];
print(johnsAge); // 输出:20

// 修改Map中的值
ages['John'] = 21;
print(ages['John']); // 输出:21

常用方法

Map提供了许多常用的方法,可以帮助您轻松地操作Map。这些方法包括:

  • putIfAbsent(): 如果Map中不存在指定的键,则向Map中添加一个新的键值对。
  • remove(): 从Map中删除一个键值对。
  • containsKey(): 检查Map中是否包含指定的键。
  • values(): 返回Map中所有值的列表。
  • keys(): 返回Map中所有键的列表。
  • isEmpty(): 检查Map是否为空。
  • length: 返回Map中键值对的数量。

总结

List和Map是Dart中常用的数据结构,掌握它们的使用技巧可以大大提高您的编程效率。List可以存储多个元素,并提供许多常用方法,例如排序和截取。Map可以将键与值进行关联,并提供许多常用方法,例如访问和修改键值对。