集合 (Collections)
集合類型是任何程式語言的基本組成部分。它們用於儲存一組數據。我們已經在向量 (Vector) 部分介紹過 vector 類型,本章我們將介紹 Sui 框架 提供的基於向量的集合類型。
Vector (向量)
雖然之前介紹過 vector,但在物件的上下文中值得再次回顧。它常用於物件內部儲存簡單列表。
VecSet
VecSet 是一種儲存唯一項 (unique items) 的集合。它與 vector 類似,但不允許重複項。這對於儲存唯一 ID 或地址列表非常有用。如果嘗試插入已存在的項,操作將失敗。
VecMap
VecMap 是一種儲存鍵值對 (key-value pairs) 的集合。它類似於映射 (Map),您可以將一個值與集合中的每個項關聯。VecMap 中的鍵是唯一的,每個鍵只能關聯一個值。
限制 (Limitations)
- 類型限制: 嚴格的類型檢查。
- 大小限制: 受到物件大小限制 (256KB),適用於較小規模的列表或集合。
- 比較限制: 由於插入順序不固定,嘗試比較兩個 VecSet 可能會產生非預期結果(Linter 會發出警告)。
總結
- Vector: 原生類型,儲存列表。
- VecSet: 基於 Vector,儲存唯一項集合。
- VecMap: 儲存鍵值對結構。
- 基於向量的集合: 適用於小規模、有類型的數據儲存。