[Java] 집합

rara_kim·2022년 6월 13일
0

자료구조/알고리즘

목록 보기
1/10

집합(Set)

집합이란?

  • 특정 조건에 맞는 원소들의 모임
  • 자바에서는 Set을 집합이라고 할 수 있다.
  • Set은 중복을 허용하지 않는다.
HashSet set1 = new HashSet();
set1.add(1);
set1.remove(1);

System.out.println(set1.size());
System.out.println(set1.contains(2));

교집합

  • 교집합은 두 집합이 공통으로 포함하는 원소로 이루어진 집합이다.
  • retainAll() 메소드 사용
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] 출력

합집합

  • 합집합은 두 집합 중, 어느 하나에라도 속하는 원소들을 모두 모은 집합이다.
  • addAll() 메소드 사용
HashSet a = new HashSet(Arrays.asList(1, 2, 3, 4, 5));
HashSet b = new HashSet(Arrays.asList(2, 4, 6, 8, 10));

a.addAll(b);
System.out.println("합집합: " + a);   //[2, 4, 6, 8, 10] 출력

차집합

  • 차집합은 두 집합 중, 어느 한 집합에만 속하는 원소들의 집합이다.
  • removeAll() 메소드 사용
HashSet a = new HashSet(Arrays.asList(1, 2, 3, 4, 5));
HashSet b = new HashSet(Arrays.asList(2, 4, 6, 8, 10));

a.removeAll(b);                           
System.out.println("차집합: " + a);   //[1, 3, 5] 출력

여집합

여집합은 전체집합 중 A의 원소가 아닌 것들의 집합이다.


부분집합

  • 다른 집합에 포함된 집합이다.
  • B의 모든 요소가 집합 A의 요소이면 B는 A의 부분집합이라고 한다.
  • containsAll() 메소드 사용
HashSet a = new HashSet(Arrays.asList(1, 2, 3, 4, 5));
HashSet b = new HashSet(Arrays.asList(2, 4));
HashSet c = new HashSet(Arrays.asList(1, 7));

System.out.println(a.containsAll(b));   //true 출력
System.out.println(a.containsAll(c));   //false 출력
profile
느리더라도 꾸준하게

0개의 댓글