📜  Dart – 常见的收集方法(1)

📅  最后修改于: 2023-12-03 15:30:21.769000             🧑  作者: Mango

Dart - 常见的收集方法

Dart 是谷歌开发的一门面向对象、基于类、单线程的编程语言。它是一种类型安全的语言,同时也是一种解释型语言,适用于服务器端、客户端、移动端等多种开发场景。在 Dart 中,收集(collection)指的是一组对象,这些对象一般具有相同的类型或者具有相关的概念。本文将介绍 Dart 中常见的收集方法。

1. 列表(List)

列表是一种有序的收集方式,它可以按照索引访问元素。在 Dart 中,列表使用中括号 [] 来创建,元素之间使用逗号 , 分隔。如下所示:

List<String> list = ['apple', 'banana', 'orange'];

要访问列表中的元素,可以使用方括号加上索引的方式,例如访问第一个元素:

print(list[0]); // 'apple'

列表还支持很多其他的操作,例如添加元素、删除元素、查询元素等。更多列表的操作可以查看 Dart 官方文档

2. 集合(Set)

集合是一种无序的收集方式,它不允许重复的元素存在。在 Dart 中,集合使用大括号 {} 来创建,元素之间使用逗号 , 分隔。如下所示:

Set<String> set = {'apple', 'banana', 'orange'};

集合中的元素没有顺序,因此不能使用索引来访问元素。如果要检查集合中是否包含某个值,可以使用 contains 方法:

print(set.contains('apple')); // true

集合还支持很多其他的操作,例如添加元素、删除元素、交集、并集等。更多集合的操作可以查看 Dart 官方文档

3. 映射(Map)

映射是一种将键与值相关联的收集方式。在 Dart 中,映射使用大括号 {} 来创建,键值对之间使用冒号 : 分隔,键值对之间使用逗号 , 分隔。如下所示:

Map<String, String> map = {'name': '张三', 'age': '18', 'gender': '男'};

要访问映射中的值,可以使用方括号加上键的方式,例如访问名字:

print(map['name']); // '张三'

映射还支持很多其他的操作,例如添加键值对、删除键值对、查询键值对等。更多映射的操作可以查看 Dart 官方文档

4. 迭代器(Iterator)

迭代器是一种访问集合中元素的方式。在 Dart 中,可以使用 iterator 方法获得迭代器,使用 hasNext 方法判断是否还有下一个元素,使用 next 方法访问下一个元素。例如,使用迭代器访问列表中的元素:

List<String> list = ['apple', 'banana', 'orange'];
Iterator<String> iterator = list.iterator;
while(iterator.moveNext()){
  print(iterator.current);
}

以上代码会输出列表中的每个元素。

5. 扩展操作符(Spread Operator)

扩展操作符可以将一个集合展开成多个单独的元素,或者将多个单独的元素合并成一个集合。在 Dart 中,使用三个点号 ... 来表示扩展操作符。例如:

List<String> list1 = ['apple', 'banana'];
List<String> list2 = ['orange', 'watermelon'];
List<String> list3 = [...list1, ...list2];
print(list3); // ['apple', 'banana', 'orange', 'watermelon']

以上代码将两个列表合并为一个列表。

扩展操作符还可以将一个集合展开成多个单独的元素:

List<String> list = ['apple', 'banana', 'orange'];
print(...list); // 'apple', 'banana', 'orange'

以上代码将列表中的三个元素展开成三个单独的元素。

总结

以上是 Dart 中常见的收集方法,包括列表、集合、映射、迭代器和扩展操作符。当处理一些数据集合时,可以根据需要选择不同的收集方式,以提高程序的效率和灵活性。