JeongJin's Blog

집합을 자바를 이용하여 이해하기 본문

1일1공부/기초수학

집합을 자바를 이용하여 이해하기

정진킴 2023. 9. 6. 08:44

1. 집합

    - 자바에서는 집합 사용 시 HashSet 클래스를 이용하여 구현한다.

    - HashSet에 있는 method에 대해 알아본다.

        1. add(Object e) : HashSet 에 원소를 추가하는 메소드

        2. remove(Obejct o) : HashSet에 원소를 제거하는 메소드 

        3. size() : HashSet 원소의 사이즈

        4. contains(Object o) : 해당 원소 포함 여부   

import java.util.HashSet;


public class Main {

    public static void main(String[] args) {
        HashSet set1 = new HashSet();
        set1.add(1);
        set1.add(1);
        set1.add(1);
        System.out.println("set1 =  " + set1);  // set1 = [1];
        set1.add(2);
        set1.add(3);
        System.out.println("set1 = " + set1);  // set1 = [1, 2, 3]

        set1.remove(1);
        System.out.println("set1 = " + set1);  // set1 = [2, 3]

        System.out.println(set1.size());  // 2
        System.out.println(set1.contains(2));  // true
    }

}

2. 교집합

    - 집합 A와 B에서 공통된 원소를 가지는 집합을 의미한다.

    - 자바에서 구현 시 retainAll() 함수를 사용하면 교집합의 원소를 구할 수 있다.

import java.util.Arrays;
import java.util.HashSet;


public class Main {

    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]

    }

}

3. 합집합

    - 집합 A와 B에서 중복을 제거한 전체 원소를 가지는 집합을 의미한다.

    - 자바에서 구현 시 addAll() 함수를 사용하면 합집합의 원소를 구할 수 있다.

import java.util.Arrays;
import java.util.HashSet;


public class Main {

    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.addAll(b);
        System.out.println("합집합: " + a);  // 합집합: [1, 2, 3, 4, 5, 6, 8, 10]
    }

}

4. 차집합

    - 집합 A에서 B의 원소를 제외한 전체 원소를 가지는 집합을 의미한다.

    - 자바에서는 구현 시 removeAll() 함수를 사용하면 집합의 원소를 구할 수 있다.

import java.util.Arrays;
import java.util.HashSet;


public class Main {

    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.removeAll(b);
        System.out.println("차집합: " + a);  // 차집합: [1, 3, 5]
    }

}

5. 여집합

    - 집합 A가 있으면 A원소가 다 해당되는 않는 집합을 의미한다.