a = Set([1, 3, 4, 5]);
println(a)

# BitSet: Construct a sorted set of Ints generated by the given iterable object, or an empty set. Implemented as a bit string, and therefore designed for dense integer sets.
b = BitSet([1, 7, 4, 5]);
println(b)

# union 
println(union([1, 2], [2, 4]))

# union!
# Construct the union of passed in sets and overwrite s with the result. Maintain order with arrays.
c = Set([1, 3, 4, 5]);
union!(c, 1:2:8);
println(c)

# intersect
# Construct the intersection of sets. Maintain order with arrays.
println(intersect([1, 2, 3], [3, 4, 5]))

# setdiff
println(setdiff([1,2,3], [3,4,5]))

# symdiff
# Construct the symmetric difference of elements in the passed in sets. When s is not an AbstractSet, the order is maintained. Note that in this case the multiplicity of elements matters.
println(symdiff([1,2,3], [3,4,5], [4,5,6]))
println([1,2,1], [2, 1, 2])

# issubset
println(issubset([1, 2], [1, 2, 3]))

# ⊈
println((1, 2) ⊈ (2, 3))
