模式切换
集合操作
Dart 提供了丰富的集合类型和操作方法,用于处理数据。
List 的基本操作与扩展
基本操作
- 创建
List
。 - 添加、删除和访问元素。
示例:
dart
void main() {
var list = [1, 2, 3]; // 创建 List
list.add(4); // 添加元素
list.remove(2); // 删除元素
print(list[0]); // 访问元素
}
常用方法
addAll
: 添加多个元素。insert
: 指定位置插入元素。sort
: 排序列表。contains
: 检查是否包含某元素。
示例:
dart
void main() {
var list = [3, 1, 4];
list.sort();
print(list); // 输出: [1, 3, 4]
}
Map 和 Set 的使用
Map
Map
是键值对的集合。
基本操作:
dart
void main() {
var map = {'name': 'Alice', 'age': 25};
print(map['name']); // 获取值
map['city'] = 'London'; // 添加键值对
map.remove('age'); // 删除键值对
}
Set
Set
是不重复元素的集合。
基本操作:
dart
void main() {
var set = {1, 2, 3};
set.add(4);
set.add(2); // 重复元素不会添加
print(set); // 输出: {1, 2, 3, 4}
}
集合遍历与操作
forEach
遍历集合中的每个元素。
示例:
dart
void main() {
var list = [1, 2, 3];
list.forEach((element) => print(element));
}
map
对集合中的每个元素进行转换。
示例:
dart
void main() {
var list = [1, 2, 3];
var doubled = list.map((e) => e * 2).toList();
print(doubled); // 输出: [2, 4, 6]
}
where
筛选满足条件的元素。
示例:
dart
void main() {
var list = [1, 2, 3, 4];
var even = list.where((e) => e.isEven).toList();
print(even); // 输出: [2, 4]
}
reduce
通过迭代组合所有元素,生成单一结果。
示例:
dart
void main() {
var list = [1, 2, 3];
var sum = list.reduce((a, b) => a + b);
print(sum); // 输出: 6
}
fold
与 reduce
类似,但可以指定初始值。
示例:
dart
void main() {
var list = [1, 2, 3];
var sum = list.fold(10, (a, b) => a + b);
print(sum); // 输出: 16
}