带你读《深入浅出Dart》六、Dart中的集合类型(1)https://developer.aliyun.com/article/1349073?groupCode=tech_library
Map的主要方法
Map类提供了一些方法来处理和操作键值对。以下是一些常用的Map方法:
- containsKey(key): 检查Map是否包含指定的键
- containsValue(value): 检查Map是否包含指定的值
- remove(key): 删除指定的键及其对应的值
- addAll(other): 将其他Map的键值对添加到当前Map中
- clear(): 删除Map中的所有键值对
以下是这些方法的使用示例:
var myMap = { 'key1': 'value1', 'key2': 'value2',}; print(myMap.containsKey('key1')); // 输出 trueprint(myMap.containsValue('value3')); // 输出 false myMap.remove('key1');print(myMap); // 输出 {key2: value2} myMap.addAll({'key3': 'value3', 'key4': 'value4'});print(myMap); // 输出 {key2: value2, key3: value3, key4: value4} myMap.clear();print(myMap); // 输出 {}
- Dart中的Set
Dart中的Set是一种无序的、包含唯一项的集合,所有的元素都是唯一的,没有重复项。这意味着无论你尝试将同样的项目添加到Set中多少次,它都只会出现一次。
创建和初始化Set
在Dart中,你可以通过以下几种方式创建和初始化Set:
// 创建空的Setvar emptySet = {}; // 创建并初始化Setvar initializedSet = {'item1', 'item2', 'item3'}; // 使用Set构造函数创建Setvar setWithConstructor = Set();
注意:如果你尝试创建一个空的Set但未指定类型,Dart会创建一个动态类型的Map。因此,为了创建一个空的Set,你需要在创建Set时提供一个类型参数。
添加和删除Set元素
你可以使用add和remove方法向Set中添加或删除元素:
var mySet = {'item1', 'item2', 'item3'}; mySet.add('item4');print(mySet); // 输出 {item1, item2, item3, item4} mySet.remove('item1');print(mySet); // 输出 {item2, item3, item4}
Set的主要方法
Set类提供了一些方法来处理和操作集合。以下是一些常用的Set方法:
- contains(element): 检查Set是否包含指定的元素
- union(other): 返回一个新的Set,包含当前Set和另一个Set中所有的元素
- intersection(other): 返回一个新的Set,包含当前Set和另一个Set中共有的元素
- difference(other): 返回一个新的Set,包含当前Set中的元素,但不包含另一个Set中的元素
以下是这些方法的使用示例:
var mySet1 = {'item1', 'item2', 'item3'};var mySet2 = {'item2', 'item3', 'item4'}; print(mySet1.contains('item1')); // 输出 true var unionSet = mySet1.union(mySet2);print(unionSet); // 输出 {item1, item2, item3, item4} var intersectionSet = mySet1.intersection(mySet2);print(intersectionSet); // 输出 {item2, item3} var differenceSet = mySet1.difference(mySet2);print(differenceSet); // 输出 {item1}