Java HashSet 합집합, 차집합, 교집합, 부분집합
코드
package pk;
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
HashSet<Integer> ss = new HashSet(); // 1 2 3 4
HashSet<Integer> ss2 = new HashSet(); // 3 4 5 6
HashSet<Integer> ss3 = new HashSet(); // 1 2
ss.add(1);
ss.add(2);
ss.add(3);
ss.add(4);
ss2.add(3);
ss2.add(4);
ss2.add(5);
ss2.add(6);
ss3.add(1);
ss3.add(2);
/*
ss.addAll(ss2); // (1 2 3 4) ∪ (3 4 5 6) = (1 2 3 4 5 6) 합집합
for(int n : ss) System.out.print(n + " ");
System.out.println();
*/
/*
ss.retainAll(ss2); // (1 2 3 4) ∩ (3 4 5 6) = (3 4) 교집합
for(int n : ss) System.out.print(n + " ");
System.out.println();
*/
/*
ss.removeAll(ss2); // (1 2 3 4) - (3 4 5 6) = (1 2) 차집합
for(int n : ss) System.out.print(n + " ");
System.out.println();
*/
/*
System.out.println(ss.containsAll(ss2)); // (1 2 3 4) ≠ (3 4 5 6)
System.out.println(ss.containsAll(ss3)); // (1 2 3 4) ⊃ (1 2)
*/
}
}
HashSet 기본 사용법
링크
[JAVA/심화] - Java HashSet - 집합 삽입, 삭제, 탐색
addAll() : 합집합
합집합
- 두 집합의 원소들을 합한 집합을 만든다.
집합이므로 중복된 원소는 1개만 포함된다.
retainAll() : 교집합
교집합
- 두 집합에서 동일하게 포함하고 있는 원소만 있는 집합을 만든다.
removeAll() : 차집합
차집합
- 인수로 주는 집합의 포함된 동일한 원소들을 제거한다.
containsAll() : 집합 포함 여부(부분 집합)
부분 집합
- 인수로 주는 집합이 부분 집합이면 true이다.
- 해당 코드는 위쪽은 false가 아래는 true가 도출된다.
※ contains와 혼동하면 안된다.
'JAVA > 심화' 카테고리의 다른 글
Java Queue(큐) 컬렉션 사용 (0) | 2020.04.10 |
---|---|
Java Stack(스택) 컬렉션 사용 (0) | 2020.04.10 |
Java HashSet - 집합 삽입, 삭제, 탐색 (0) | 2020.04.09 |
Java List Collection - ArrayList, LinkedList, Vector (0) | 2020.04.01 |
Java 제네릭(Generic) 타입 (0) | 2020.04.01 |