Dart 语言 集合展开操作技巧

Dart阿木 发布于 2025-06-18 9 次阅读


Dart 语言集合操作技巧详解

在 Dart 语言中,集合(Collection)是处理数据的一种重要方式。集合操作是编程中常见的需求,比如查找、排序、过滤等。本文将围绕 Dart 语言中的集合操作技巧展开,详细介绍一些实用的操作方法,帮助开发者更高效地处理集合数据。

Dart 语言提供了丰富的集合操作方法,使得开发者可以轻松地对集合进行各种操作。本文将涵盖以下内容:

1. Dart 集合简介

2. 集合创建与初始化

3. 集合遍历

4. 集合查找

5. 集合排序

6. 集合过滤

7. 集合映射

8. 集合操作示例

1. Dart 集合简介

Dart 语言中的集合主要包括以下几种:

- List:有序集合,元素可以是任意类型。

- Set:无序集合,元素唯一。

- Map:键值对集合,键和值可以是任意类型。

2. 集合创建与初始化

List

dart

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


List<String> names = ['Alice', 'Bob', 'Charlie'];


Set

dart

Set<int> numbers = {1, 2, 3, 4, 5};


Set<String> names = {'Alice', 'Bob', 'Charlie'};


Map

dart

Map<String, int> scores = {'Alice': 90, 'Bob': 85, 'Charlie': 95};


Map<String, String> colors = {'red': 'FF0000', 'green': '00FF00', 'blue': '0000FF'};


3. 集合遍历

List

dart

for (var number in numbers) {


print(number);


}

numbers.forEach((number) {


print(number);


});


Set

dart

for (var number in numbers) {


print(number);


}

numbers.forEach((number) {


print(number);


});


Map

dart

for (var entry in scores.entries) {


print('${entry.key}: ${entry.value}');


}

scores.forEach((key, value) {


print('${key}: ${value}');


});


4. 集合查找

List

dart

var index = numbers.indexOf(3);


var element = numbers[3];


Set

dart

var element = numbers.contains(3);


Map

dart

var value = scores['Alice'];


5. 集合排序

List

dart

numbers.sort((a, b) => a.compareTo(b));


Set

Set 本身是无序的,但可以通过转换为 List 进行排序。

dart

var sortedNumbers = numbers.toList()..sort();


Map

Map 本身是无序的,但可以通过转换为 List 进行排序。

dart

var sortedScores = scores.entries.toList()..sort((a, b) => a.value.compareTo(b.value));


6. 集合过滤

List

dart

var evenNumbers = numbers.where((number) => number.isEven).toList();


Set

Set 本身是无序的,但可以通过转换为 List 进行过滤。

dart

var evenNumbers = numbers.toList()..where((number) => number.isEven).toList();


Map

dart

var highScores = scores.where((key, value) => value > 90).toList();


7. 集合映射

List

dart

var doubledNumbers = numbers.map((number) => number 2).toList();


Set

Set 本身是无序的,但可以通过转换为 List 进行映射。

dart

var doubledNumbers = numbers.toList()..map((number) => number 2).toList();


Map

dart

var doubledScores = scores.map((key, value) => MapEntry(key, value 2));


8. 集合操作示例

以下是一个示例,演示如何使用 Dart 集合操作技巧:

dart

void main() {


var numbers = [1, 2, 3, 4, 5];


var names = ['Alice', 'Bob', 'Charlie'];

// 创建集合


var scores = {'Alice': 90, 'Bob': 85, 'Charlie': 95};

// 遍历集合


for (var number in numbers) {


print(number);


}

// 查找元素


var index = numbers.indexOf(3);


var element = numbers[3];

// 排序集合


numbers.sort((a, b) => a.compareTo(b));

// 过滤集合


var evenNumbers = numbers.where((number) => number.isEven).toList();

// 映射集合


var doubledNumbers = numbers.map((number) => number 2).toList();

// 打印结果


print('Numbers: $numbers');


print('Even numbers: $evenNumbers');


print('Doubled numbers: $doubledNumbers');


}


总结

本文详细介绍了 Dart 语言中的集合操作技巧,包括创建、遍历、查找、排序、过滤、映射等。通过学习这些技巧,开发者可以更高效地处理集合数据,提高编程效率。在实际开发中,灵活运用这些技巧,可以解决各种集合操作问题。