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와 혼동하면 안된다.







+ Recent posts