📜  dart 存储唯一值 - Dart (1)

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

Dart存储唯一值

在Dart中,有多种方式可以存储唯一值(也称为“集合”),包括Set和Map数据类型。下面将具体介绍这两种方法。

Set

Set是一种基于哈希表实现的数据结构,可以存储唯一值。在Dart中,可以使用Set类来创建集合。

Set<int> mySet = Set<int>();

上面的代码创建了一个空Set,可以添加元素到Set中。需要注意的是,Set中的元素必须是唯一的,如果添加了相同的元素,Set只会保存一个副本。

mySet.add(1);
mySet.add(2);
mySet.add(1); //只会保存一个1

可以使用contains方法来检查Set中是否包含某个值。

mySet.contains(1); //true
mySet.contains(3); //false

使用remove方法可以从Set中删除一个元素。

mySet.remove(1);
mySet.contains(1); //false
Map

Map是一种键值对数据结构,可以用于存储和查找数据。在Dart中,可以使用Map类来创建集合。

Map<String, int> myMap = Map<String, int>();

上面的代码创建了一个空Map,可以添加键值对到Map中。

myMap["apple"] = 1;
myMap["banana"] = 2;

也可以使用putIfAbsent方法来添加键值对,如果已经存在该键,则不会进行任何操作。

myMap.putIfAbsent("apple", () => 3); //不会进行任何操作
myMap.putIfAbsent("orange", () => 3); //添加键值对

使用containsKey方法可以检查Map中是否包含某个键。

myMap.containsKey("apple"); //true
myMap.containsKey("orange"); //false

使用remove方法可以从Map中删除一个键值对。

myMap.remove("apple");
myMap.containsKey("apple"); //false

以上是Dart存储唯一值的两种方式,可以根据实际需求选择使用。