Dart 编程中的集合
集合是对象的集合,其中每个对象只能出现一次。这意味着元素类型中的所有对象要么在集合中,要么不在集合中。
集合是一种重要的数据结构,在我们需要每个对象只出现一次的情况下非常有用。
Dart 中有多种创建集合的方式,但最常见的是使用 **Set()** 构造函数。
示例
请考虑以下示例:
void main() {
var fruits = new Set();
print(fruits);
}在上面的示例中,我们创建了一个名为 fruits 的集合,目前为空,然后我们打印了该集合。
输出
{}需要注意的是,当我们使用默认方式创建集合时,我们创建的是一个 LinkedHashSet,如果使用 == 运算符比较两个对象相等时,它们之间的区别是无法区分的。
我们可以使用 **add()** 方法将对象添加到 HashSet 中。
示例
请考虑以下示例:
void main() {
var fruits = new Set();
fruits.add("apple");
fruits.add("mango");
fruits.add("banana");
print(fruits);
}输出
{apple, mango, banana}我们在上面的示例中添加了不同的水果,我们可以看到这些水果已成功添加到集合中。但是,如果我们尝试插入一个已存在于集合中的对象会发生什么情况呢?
示例
请考虑以下示例:
void main() {
var fruits = new Set();
fruits.add("apple");
fruits.add("mango");
fruits.add("banana");
var t = fruits.add("apple");
print(t);
print(fruits);
var z = fruits.add("litchi");
print(z);
print(fruits);
}如果对象已存在于集合中,我们仍然尝试再次插入相同的对象,那么什么也不会发生,表达式将返回 false。
输出
false
{apple, mango, banana}
true
{apple, mango, banana, litchi}还可以检查集合是否包含我们正在查找的特定对象。
示例
请考虑以下示例:
void main() {
var fruits = new Set();
fruits.add("apple");
fruits.add("mango");
fruits.add("banana");
print("has apple? ${fruits.contains("apple")}");
print("has kiwi? ${fruits.contains("kiwi")}");
}输出
has apple? true has kiwi? false
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP