1. List.add()
- 功能: 向
List中添加一个元素。 - 使用场景: 当需要在
List的末尾添加一个新的元素时,使用add。
示例:
List<String> fruits = ['apple', 'banana'];
fruits.add('orange');
print(fruits); // 输出: [apple, banana, orange]
2. List.addAll()
- 功能: 将另一个
Iterable对象(例如List)的所有元素添加到当前List中。 - 使用场景: 如果有一个集合,想要将所有元素添加到现有的
List中,可以使用addAll。
示例:
List<String> fruits = ['apple', 'banana'];
List<String> moreFruits = ['orange', 'grape'];
fruits.addAll(moreFruits);
print(fruits); // 输出: [apple, banana, orange, grape]
3. List.remove()
- 功能: 移除
List中的第一个匹配的元素。 - 使用场景: 当想从
List中删除某个元素时,使用remove。
示例:
List<String> fruits = ['apple', 'banana', 'orange'];
fruits.remove('banana');
print(fruits); // 输出: [apple, orange]
4. List.removeAt()
- 功能: 根据索引移除
List中的元素。 - 使用场景: 如果需要根据索引删除
List中的元素,可以使用removeAt。
示例:
List<String> fruits = ['apple', 'banana', 'orange'];
fruits.removeAt(1);
print(fruits); // 输出: [apple, orange]
5. List.removeLast()
- 功能: 移除
List中的最后一个元素。 - 使用场景: 如果需要删除
List中的最后一个元素,可以使用removeLast。
示例:
List<String> fruits = ['apple', 'banana', 'orange'];
fruits.removeLast();
print(fruits); // 输出: [apple, banana]
6. List.insert()
- 功能: 在指定索引位置插入一个元素。
- 使用场景: 当需要在
List中某个位置插入一个新元素时,可以使用insert。
示例:
List<String> fruits = ['apple', 'banana', 'orange'];
fruits.insert(1, 'grape');
print(fruits); // 输出: [apple, grape, banana, orange]
7. List.insertAll()
- 功能: 在指定位置插入一个
Iterable中的所有元素。 - 使用场景: 当需要在
List中的某个位置插入一批元素时,使用insertAll。
示例:
List<String> fruits = ['apple', 'banana', 'orange'];
fruits.insertAll(1, ['grape', 'kiwi']);
print(fruits); // 输出: [apple, grape, kiwi, banana, orange]
8. List.contains()
- 功能: 判断
List中是否包含指定的元素。 - 使用场景: 如果需要检查
List中是否包含某个元素,可以使用contains。
示例:
List<String> fruits = ['apple', 'banana', 'orange'];
print(fruits.contains('banana')); // 输出: true
print(fruits.contains('grape')); // 输出: false
9. List.indexOf()
- 功能: 返回指定元素在
List中的索引。如果元素不存在,则返回-1。 - 使用场景: 如果需要查找某个元素的索引,可以使用
indexOf。
示例:
List<String> fruits = ['apple', 'banana', 'orange'];
print(fruits.indexOf('banana')); // 输出: 1
print(fruits.indexOf('grape')); // 输出: -1
10. List.sort()
- 功能: 对
List进行排序。 - 使用场景: 如果需要对
List进行排序(默认按升序),可以使用sort。
示例:
List<int> numbers = [5, 3, 8, 1];
numbers.sort();
print(numbers); // 输出: [1, 3, 5, 8]
11. List.reversed
- 功能: 返回一个反转后的
List。 - 使用场景: 如果想获取一个反转后的列表,可以使用
reversed。
示例:
List<String> fruits = ['apple', 'banana', 'orange'];
print(fruits.reversed.toList()); // 输出: [orange, banana, apple]
12. List.shuffle()
- 功能: 随机打乱
List中的元素顺序。 - 使用场景: 如果想随机打乱
List中元素的顺序,可以使用shuffle。
示例:
List<String> fruits = ['apple', 'banana', 'orange'];
fruits.shuffle();
print(fruits); // 输出: 打乱顺序后的列表,如 [orange, apple, banana]
13. List.map()
- 功能: 将
List中的每个元素映射为新的元素,返回一个新的Iterable。 - 使用场景: 当需要对
List中的每个元素执行某种操作,并生成一个新的列表时,使用map。
示例:
List<int> numbers = [1, 2, 3];
List<int> squared = numbers.map((e) => e * e).toList();
print(squared); // 输出: [1, 4, 9]
14. List.where()
- 功能: 返回一个包含满足条件的元素的
Iterable。 - 使用场景: 当需要从
List中筛选出符合某个条件的元素时,可以使用where。
示例:
List<int> numbers = [1, 2, 3, 4, 5];
var evenNumbers = numbers.where((num) => num.isEven).toList();
print(evenNumbers); // 输出: [2, 4]
15. List.fold()
- 功能: 将
List中的元素累加或合并成一个单一的值。 - 使用场景: 当需要从
List中的元素计算出一个累积值(如求和)时,使用fold。
示例:
List<int> numbers = [1, 2, 3, 4];
int sum = numbers.fold(0, (previousValue, element) => previousValue + element);
print(sum); // 输出: 10
16. List.reduce()
- 功能: 对
List中的所有元素进行累积操作,返回一个最终结果。 - 使用场景: 当希望通过一个操作合并
List中的元素时(如求最大值、最小值等),使用reduce。
示例:
List<int> numbers = [1, 2, 3, 4];
int maxNumber = numbers.reduce((value, element) => value > element ? value : element);
print(maxNumber); // 输出: 4
17. List.asMap()
- 功能: 将
List转换为Map,其中键为元素的索引,值为元素。 - 使用场景: 当需要将
List的元素和它们的索引映射为一个Map时,使用asMap()。
示例:
List<String> fruits = ['apple', 'banana', 'orange'];
Map<int, String> fruitMap = fruits.asMap();
fruitMap.forEach((index, value) {
print('Index: $index, Value: $value');
});
输出:
Index: 0, Value: apple
Index: 1, Value: banana
Index: 2, Value: orange
18. List.removeWhere()
- 功能: 移除符合条件的所有元素。
- 使用场景: 当需要根据条件从
List中删除元素时,使用removeWhere。
示例:
List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeWhere((element) => element % 2 == 0);
print(numbers); // 输出: [1, 3, 5]
总结:
add(): 向List添加一个元素。addAll(): 向List添加另一个Iterable的所有元素。remove(): 移除指定的元素。removeAt(): 根据索引移除指定的元素。insert(): 在指定位置插入元素。insertAll(): 在指定位置插入多个元素。contains(): 判断List是否包含指定的元素。indexOf(): 获取元素的索引。sort(): 对List进行排序。reversed: 获取反转后的List。shuffle(): 随机打乱List元素。map(): 将List中的每个元素映射为新的元素。where(): 筛选出符合条件的元素。fold(): 将List中的元素累积为一个结果。reduce(): 对List中的所有元素进行累积操作。asMap(): 将List转换为Map。removeWhere(): 根据条件移除元素。
这些方法和属性为在使用 List 时提供了丰富的操作,能够更灵活地管理和处理列表数据。