집합이란?
특정 조건을 만족하는 원소(Element)들의 모임을 뜻합니다.
표기 방법
원소 나열법
A = { 1 , 2 , 3 , 4 , 5 } , Z = { 2 , 4 , 6 , 8 , 10 }
원소를 { } 안에 나열해주면 됩니다.
조건 제시법
A = { x | x는 정수, 1 ≤ x ≤ 5 }
B = { 2x | x는 정수, 1 ≤ x ≤ 10 }
여기서 | 를 기준으로 앞부분은 집합 A가 x라는 원소로 이루어져 있다는 것을 의미하며, 뒷부분은 원소 x의 조건을 적습니다.
벤 다이어그램
집합의 종류
교집합
두 집합에 모두 속하는 원소들로 이루어진 집합을 교집합이라 합니다.
A ∩ B = { x | x ∈ A and x ∈ B }
위의 예시는 x는 A에 포함되고 B에 포함된다는 것을 의미합니다. 이걸 위에서 계속해서 다뤘던 두 집합으로 나타내면 아래와 같습니다.
A ∩ B = { 2 ,4 }
합집합
두 집합 중 하나에라도 속하는 원소들로 이루어진 집합을 합집합이라 합니다.
A ∪ B = { x | x ∈ A or x ∈ B }
A ∪ B = { 1 , 2 , 3 , 4 , 5 , 6 , 8 , 10 }
차집합
집합 하나를 기준으로 다른 집합의 원소를 제외한 원소들로 이루어진 집합을 차집합이라 합니다.
A - B = { x | x ∈ A or x ∈/ B }
A - B = { 1 , 3 , 5 }
여집합
전체 집합(U) 중 특정 집합의 원소를 제외한 원소들로 이루어진 집합을 여집합이라 합니다.
A^C = { x | x ∈ U and x ∈/ A }
A^C = { 6 , 8 , 10 }
프로그래밍 언어에서의 집합
연산
Java
import java.util.Arrays;
import java.util.HashSet;
public class Example {
public static void main(String[] args) {
HashSet a = new HashSet(Arrays.asList(1, 2, 3, 4, 5));
HashSet b = new HashSet(Arrays.asList(2, 4, 6, 8, 10));
// 교집합
// a.retainAll(b);
// System.out.println(a); // [ 2 , 4 ]
// 합집합
// a.addAll(b); // [
// System.out.println(a); // [ 1 , 2 , 3 , 4 , 5 , 6 , 8 , 10 ]
// 차집합
a.removeAll(b);
System.out.println(a); // [ 1 , 3 , 5 ]
}
}