یک Set مجموعهای از عنصرها است که ویژگیهای زیر را دارد:
آنها را با سازندهی Set() بسازید و هر تکرارگر را به عنوان پارامتر به آن بدهید.
julia> s1 = Set(1:4)
Set{Int64} with 4 elements:
4
2
3
1
عنصرهای جدید را با push!() اضافه کنید (درست مثل آرایهها) و آنها را با delete!() حذف کنید.
julia> push!(s1, 5)
Set{Int64} with 5 elements:
5
4
2
3
1
# Duplicates are ignored
julia> push!(s1, 3)
Set{Int64} with 5 elements:
5
4
2
3
1
julia> delete!(s1, 5)
Set{Int64} with 4 elements:
4
2
3
1
julia> length(s1) # length counts entries, despite the non-sequential type
4
مثل چندین نوع مجموعهی دیگر، عضویت را با عملگر in یا ∈ بررسی کنید (برای درج این نماد، \in را تایپ کنید و بعد کلید tab را بزنید).
julia> 3 ∈ s1
true
عملیات زیر روی جفتهایی از مجموعهها پشتیبانی میشود (میانبرهای نماد عملگر در پرانتز آمده است).
union(A, B) یا A ∪ B (\cup): همهی عنصرهای موجود در A یا B یا هر دو.intersect(A, B) یا A ∩ B (\cap): همهی عنصرهای مشترک بین A و B.setdiff(A, B) (بدون نماد): عنصرهای موجود در A ولی نه در B.symdiff(A, B) (بدون نماد): عنصرهای موجود در A یا B ولی نه در هر دو.issubset(A, B) یا A ⊆ B (\subseteq) یا B ⊇ A (\supseteq): اگر همهی عنصرهای A در B هم باشند، true.issetequal(A, B) (بدون نماد): اگر A و B دقیقاً همان عنصرها را داشته باشند، true.isdisjoint(A, B) (بدون نماد): اگر A و B هیچ عنصر مشترکی نداشته باشند (یعنی اشتراکشان خالی است)، true.s1 = Set(1:4)
s2 = Set(3:6)
julia> s1 ∪ s2 # union
Set{Int64} with 6 elements:
5
4
6
2
3
1
julia> s1 ∩ s2 # intersect
Set{Int64} with 2 elements:
4
3
julia> setdiff(s1, s2)
Set{Int64} with 2 elements:
2
1
julia> symdiff(s1, s2)
Set{Int64} with 4 elements:
5
6
2
1
julia> s1 ⊇ s2 # issubset
false
نسخههای تغییردهندهی بسیاری از این توابع هم وجود دارد که ! به اسم تابع اضافه شده است.
برای فهرست کامل توابع، راهنما را ببینید.