set
// set : not allow duplicate value
var strSet = Set<String>()
strSet.insert("100")
strSet.insert("200")
strSet.insert("300")
strSet.insert("100")
strSet.insert("200")
strSet.insert("300")
print(strSet) // result : ["100", "200", "300"]
var strArr = ["100", "200", "300", "100", "200", "300",]
print(strArr) // result : ["100", "200", "300", "100", "200", "300"]
print(Set(strArr)) // result : ["200", "100", "300"]
var intSet001 : Set = [100, 200, 300]
var intSet002 : Set<Int> = [100, 200, 300]
var intSet003 : Set = [200, 300, 400]
// intersection
var intersectionSet = intSet001.intersection(intSet003)
print(intersectionSet) // result : [200, 300]
// union
var unionSet = intSet001.union(intSet003)
print(unionSet) // result : [200, 400, 300, 100]
// symmetric difference (union set - intersection set)
var symmetricDifferenceSet = intSet001.symmetricDifference(intSet003)
print(symmetricDifferenceSet) // result : [100, 400]
// complementary
var complementary001 = intSet001.subtracting(intSet003)
print(complementary001) // result : [100]
var complementary002 = intSet003.subtracting(intSet001)
print(complementary002) // result : [400]