순서가 존재하지 않고 중복 없이 데이터를 관리하는 자료형
수정 불가능한 집합: setOf(값1, 값2, 값3)
수정 가능한 집합: mutableSetOf(값1, 값2, 값3)
map, list : 요소를 찾는데 집중
set : 요소가 존재하는지 집중
add(값)를 사용해서 값을 추가
remove(값)를 사용해서 값을 제거
// 읽기전용 Set입니다.
var birdSet = setOf("닭", "참새", "비둘기")
// 수정가능 Set입니다.
// var mutableBirdSet = mutableSetOf("닭", "참새", "비둘기")
// mutableBirdSet.add("꿩")
// mutableBirdSet.remove("꿩")
println("집합의 크기는 ${birdSet.size} 입니다")
var findBird = readLine()!! //입력한 값이 절대로 null이 아님을 보장
if(birdSet.contains(findBird)) {
println("${findBird} 종류는 존재합니다.")
} else {
println("${findBird}는 존재하지 않습니다.")
}

// 귀여운 새의 집합
var birdSet = setOf("닭", "참새", "비둘기", "물오리")
// 날수있는 새의 집합
var flyBirdSet = setOf("참새", "비둘기", "까치")
// birdSet과 flyBirdSet의 합집합
var unionBirdSet = birdSet.union(flyBirdSet)
println("${unionBirdSet}")

// 귀여운 새의 집합
var birdSet = setOf("닭", "참새", "비둘기", "물오리")
// 날수있는 새의 집합
var flyBirdSet = setOf("참새", "비둘기", "까치")
// birdSet과 flyBirdSet의 합집합
var intersectBirdSet = birdSet.intersect(flyBirdSet)
println("${intersectBirdSet}")

// 귀여운 새의 집합
var birdSet = setOf("닭", "참새", "비둘기", "물오리")
// 날수있는 새의 집합
var flyBirdSet = setOf("참새", "비둘기", "까치")
// birdSet과 flyBirdSet의 합집합
var subtractBirdSet = birdSet.subtract(flyBirdSet)
println("${subtractBirdSet}")