SeouliteLab

[Java/자바] HashSet.retainAll() 메서드 사용 방법 본문

프로그래밍

[Java/자바] HashSet.retainAll() 메서드 사용 방법

Seoulite Lab 2024. 3. 9. 01:00

HashSet.retainAll() 메서드는 현재 HashSet 객체와 다른 컬렉션의 공통 요소만 유지하는 데 사용됩니다. 이 메서드를 사용하여 두 HashSet 간의 교집합을 구할 수 있습니다.

1. retainAll() 메서드 소개

retainAll() 메서드는 현재 HashSet에 있는 요소 중 다른 컬렉션에도 있는 요소만 유지하고 나머지 요소는 제거합니다.

2. retainAll() 사용 방법

retainAll() 메서드는 다음과 같이 사용됩니다.

HashSet<String> set1 = new HashSet<>();
set1.add("apple");
set1.add("banana");
set1.add("orange");

HashSet<String> set2 = new HashSet<>();
set2.add("apple");
set2.add("grape");

set1.retainAll(set2); // set1에는 "apple"만 남습니다.

3. retainAll() 예제

다음은 retainAll() 메서드를 사용하여 두 개의 HashSet에서 공통 요소만 남기는 예제입니다.

import java.util.HashSet;

public class HashSetRetainAllExample {
    public static void main(String[] args) {
        HashSet<String> set1 = new HashSet<>();
        set1.add("apple");
        set1.add("banana");
        set1.add("orange");

        HashSet<String> set2 = new HashSet<>();
        set2.add("apple");
        set2.add("grape");

        System.out.println("Before retainAll(): " + set1);
        set1.retainAll(set2);
        System.out.println("After retainAll(): " + set1);
    }
}

출력 결과:

Before retainAll(): [banana, apple, orange]
After retainAll(): [apple]