📅  最后修改于: 2023-12-03 15:14:36.479000             🧑  作者: Mango
在Dart中,有多种方式可以存储唯一值(也称为“集合”),包括Set和Map数据类型。下面将具体介绍这两种方法。
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是一种键值对数据结构,可以用于存储和查找数据。在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存储唯一值的两种方式,可以根据实际需求选择使用。