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

更新於: 2021年5月24日

353 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.