Um Set é uma coleção de itens com as seguintes propriedades:
Crie-os com o construtor Set(), usando qualquer iterador como parâmetro.
julia> s1 = Set(1:4)
Set{Int64} with 4 elements:
4
2
3
1
Adicione novos elementos com push!() (assim como com arrays) e remova-os com 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
Como em vários outros tipos de coleção, verifique se um item pertence ao conjunto com o operador in ou ∈ (use \in e depois tab para o símbolo).
julia> 3 ∈ s1
true
As seguintes operações sobre pares de conjuntos são suportadas (os atalhos para o símbolo do operador são mostrados entre parênteses).
union(A, B) ou A ∪ B (\cup): todas as entradas em A ou B ou em ambos.intersect(A, B) ou A ∩ B (\cap): todas as entradas comuns a A e B.setdiff(A, B) (sem símbolo): entradas em A mas não em B.symdiff(A, B) (sem símbolo): entradas em A ou em B, mas não em ambos.issubset(A, B) ou A ⊆ B (\subseteq) ou B ⊇ A (\supseteq): true se todas as entradas em A também estiverem em B.issetequal(A, B) (sem símbolo): true se A e B contiverem exatamente as mesmas entradas.isdisjoint(A, B) (sem símbolo): true se A e B não tiverem entradas em comum (ou seja, a interseção é vazia).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
Existem também versões que modificam muitos destes, com ! adicionado ao nome da função.
Consulte o manual para ver a lista completa de funções.