返回
Dart语法之List & Map:深入浅出,玩转数组与字典
前端
2023-12-25 16:48:26
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可以将键与值进行关联,并提供许多常用方法,例如访问和修改键值对。