一、List(列表)
- 
定义与初始化 - 
可以使用方括号直接初始化列表: dartvar list1 = [1, 2, 3]; // 类型自动推断 List<int> list2 = [4, 5, 6]; // 明确指定元素类型为int
 
- 
- 
常用属性 - 
length - 获取列表中元素的数量。
 dartvar fruits = ['apple', 'banana', 'cherry']; print(fruits.length); // 输出3
- 
reversed - 返回一个反向迭代的视图。
 dartvar reversedFruits = fruits.reversed; reversedFruits.forEach((fruit) => print(fruit));
- 
isEmpty和isNotEmpty - 判断列表是否为空或不为空。
 dartvar emptyList = []; print(emptyList.isEmpty); // 输出true print([1, 2].isNotEmpty); // 输出true
 
- 
- 
常用方法 - 
add - 在列表末尾添加元素。
 dartvar numbers = [1, 2]; numbers.add(3); print(numbers); // 输出[1, 2, 3]
- 
addAll - 将另一个可迭代对象的元素添加到列表末尾。
 dartvar listA = [1, 2]; var listB = [3, 4]; listA.addAll(listB); print(listA); // 输出[1, 2, 3, 4]
- 
indexOf - 查找元素在列表中的索引,找不到返回 - 1。
 dartvar fruits = ['apple', 'banana', 'cherry']; print(fruits.indexOf('banana')); // 输出1
- 
remove和removeAt - remove根据值删除元素,- removeAt根据索引删除元素。
 dartvar fruits = ['apple', 'banana', 'cherry']; fruits.remove('banana'); print(fruits); // 输出['apple', 'cherry'] fruits.removeAt(0); print(fruits); // 输出['cherry']
- 
fillRange - 修改列表中指定范围的元素。
 dartvar list = [1, 2, 3, 4, 5]; list.fillRange(1, 3, 9); print(list); // 输出[1, 9, 9, 4, 5]
- 
insert和insertAll - insert在指定位置插入一个元素,- insertAll在指定位置插入一个列表。
 dartvar fruits = ['apple', 'banana']; fruits.insert(1, 'avocado'); print(fruits); // 输出['apple', 'avocado', 'banana'] var newFruits = ['guava', 'honeydew']; fruits.insertAll(2, newFruits); print(fruits); // 输出['apple', 'avocado', 'guava', 'honeydew', 'banana']
- 
toList() - 将其他类型转换为List。
 dartvar set = {'a', 'b', 'c'}; var listFromSet = set.toList(); print(listFromSet); // 输出['a', 'b', 'c']
- 
join() - 将列表元素连接成字符串。
 dartvar words = ['Hello', 'World']; print(words.join(' ')); // 输出'Hello World'
- 
split() - 通常用于字符串操作,将字符串分割成列表。
 dartvar text = 'a,b,c'; var parts = text.split(','); print(parts); // 输出['a', 'b', 'c']
- 
forEach - 对列表每个元素执行操作。
 dartvar numbers = [1, 2, 3]; numbers.forEach((num) => print(num));
- 
map - 对列表元素应用函数并返回新的可迭代对象。
 dartvar numbers = [1, 2, 3]; var squared = numbers.map((num) => num * num); print(squared); // 输出(1, 4, 9)
- 
where - 筛选满足条件的元素。
 dartvar numbers = [1, 2, 3]; var evenNumbers = numbers.where((num) => num % 2 == 0); print(evenNumbers); // 输出(2)
- 
any和every - any判断是否存在满足条件的元素,- every判断所有元素是否满足条件。
 dartvar numbers = [1, 2, 3]; print(numbers.any((num) => num % 2 == 0)); // 输出true print(numbers.every((num) => num % 2 == 0)); // 输出false
 
- 
二、Set(集合)
- 
定义与初始化 - 
可以使用大括号直接初始化集合: dartvar set1 = {'a', 'b', 'c'}; // 类型自动推断 Set<int> set2 = {1, 2, 3}; // 明确指定元素类型为int
 
- 
- 
特性 - 
集合元素具有唯一性。 dartvar set = {1, 2, 2, 3}; print(set); // 输出{1, 2, 3}
 
- 
- 
常用操作 - 
添加元素 - 使用 add方法。
 dartvar fruitSet = {'apple', 'banana'}; fruitSet.add('cherry'); print(fruitSet); // 输出{'apple', 'banana', 'cherry'}
- 使用 
- 
删除元素 - 使用 remove方法。
 dartvar fruitSet = {'apple', 'banana'}; fruitSet.remove('apple'); print(fruitSet); // 输出{'banana'}
- 使用 
- 
检查元素是否存在 - 使用 contains方法。
 dartvar fruitSet = {'apple', 'banana'}; print(fruitSet.contains('banana')); // 输出true
- 使用 
- 
集合运算 - 
并集 dartSet<int> setA = {1, 2, 3}; Set<int> setB = {3, 4, 5}; Set<int> unionSet = setA.union(setB); print(unionSet); // 输出{1, 2, 3, 4, 5}
- 
交集 dartSet<int> setA = {1, 2, 3}; Set<int> setB = {3, 4, 5}; Set<int> intersectionSet = setA.intersection(setB); print(intersectionSet); // 输出{3}
- 
差集 dartSet<int> setA = {1, 2, 3}; Set<int> setB = {3, 4, 5}; Set<int> differenceSetA = setA.difference(setB); print(differenceSetA); // 输出{1, 2}
 
- 
 
- 
三、Map(映射)
- 
定义与初始化 - 
可以使用大括号初始化Map: dartvar map1 = {'key1': 'value1', 'key2': 'value2'}; // 类型自动推断 Map<String, int> map2 = {'a': 1, 'b': 2}; // 明确指定键和值的类型
 
- 
- 
常用操作 - 
获取值 - 通过键获取值。
 dartvar ages = {'Alice': 20, 'Bob': 22}; print(ages['Alice']); // 输出20
- 
添加和修改键值对 - 添加新键值对或修改现有键值对。
 dartvar ages = {'Alice': 20, 'Bob': 22}; ages['Charlie'] = 25; // 添加 ages['Alice'] = 21; // 修改 print(ages);
- 
删除键值对 - 使用 remove方法。
 dartvar ages = {'Alice': 20, 'Bob': 22}; ages.remove('Bob'); print(ages);
- 使用 
- 
检查键是否存在 - 使用 containsKey方法。
 dartvar ages = {'Alice': 20, 'Bob': 22}; print(ages.containsKey('Alice')); // 输出true
- 使用 
- 
遍历Map - 使用 forEach方法。
 dartvar ages = {'Alice': 20, 'Bob': 22}; ages.forEach((key, value) => print('$key: $value'));
- 使用 
 
-