CS/자료구조

[자료구조] 집합

meizzi 2024. 8. 14. 13:35
728x90
반응형

1. 집합(Set)

  • 특정 조건에 맞는 원소들의 모임

2. 교집합

  • 두 집합이 공통으로 포함하는 원소로 이루어진 집합
  • A ∩ B = {x | x A and x B}

3. 합집합

  • 어느 하나에라도 속하는 원소들을 모두 모은 집합
  • A∪B = {x | x  A or x  B}

4. 차집합

  • A or B에만 속하는 원소들의 집합
  • A - B = {x | x  A and x !B}

5. 여집합

  • 전체 집합(U) 중 A의 원소가 아닌 것들의 집합
  • A^c = {x | x  U and x ! A}

6. 코드

HashSet set = new HashSet();
set.add(1);
set.add(1); // set은 중복 허용하지 않기 때문에 1은 한번만 삽입
set.add(2);
set.add(3);
set.remove(1); // 1이라는 데이터 삭제

// 교집합
HashSet set1 = new HashSet(Arrays.asList(1, 2, 3, 4, 5));
HashSet set2 = new HashSet(Arrays.asList(2, 4, 6, 8, 10));
set1.retainAll(set2); // [2, 4]

// 합집합
set1.addAll(set2); // [1, 2, 3, 4, 5, 6, 8, 10]

// 차집합
set1.removeAll(set2); // [1, 3, 5]

 

728x90
반응형