English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 프로세스 제어

Java 배열

Java 상대적 객체(I)

Java 상대적 객체(II)

Java 상대적 객체(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력 출력(I/O)

Java Reader/Writer

Java 다른 주제

Java ArrayList retainAll() 사용 방법 및 예제

Java ArrayList 메서드

Java ArrayList retainAll() 메서드는 ArrayList와 지정된 집합에 모두 존재하는 요소만 유지합니다.

또한, 지정된 집합에 나타나지 않은 모든 요소가 arraylist에서 제거됩니다.

retainAll() 메서드의 문법은 다음과 같습니다:

arraylist.retainAll(Collection c);

retainAll() 매개변수

  • collection- 集合에 존재하는 요소만 arraylist에 유지됩니다.

retainAll() 반환 값

  • arraylist에서 요소를 제거하면 true를 반환합니다

  • 중에 존재하는 요소 클래스가 지정된집합중의 요소 클래스가 불일치하면 ClassCastException 예외가 발생합니다

  • arraylist에 null 요소가 포함되어 있으며 지정된집합null 요소를 허용하지 않으면 NullPointerException이 발생합니다

예제1:Java ArrayList retainAll()

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        //ArrayList을 생성합니다.
        ArrayList<String> languages1 = new ArrayList<>();
        //ArrayList에 요소를 추가합니다.
        languages1.add("JavaScript");
        languages1.add("Python");
        languages1.add("Java");
        System.out.println("ArrayList 1: " + languages1);
        //다른 ArrayList을 생성합니다
        ArrayList<String> languages2 = new ArrayList<>();
        //ArrayList에 요소를 추가합니다.
        languages2.add("English");
        languages2.add("Java");
        languages2.add("Python");
        System.out.println("ArrayList 2: " + languages2);
        //공통 요소를 유지합니다
        languages1.retainAll(languages2);
        System.out.println("공통 요소: " + languages1);
    }
}

출력 결과

ArrayList 1: [JavaScript, Python, Java]
ArrayList 2: [English, Java, Python]
공통 요소: [Python, Java]

위의 예제에서는 두 개의 languages1와 languages2의 ArrayList입니다. 이 줄을 주목하세요

languages1.retainAll(languages2);

여기서는 arraylist languages2retainAll() 메서드에 전달된 languages1에 나타나지 않는 요소를 제거합니다2모든 요소를 유지합니다. 따라서, 공통 요소만을 유지합니다.

예제2:ArrayList와 HashSet 간의 공통 요소를 표시합니다

import java.util.ArrayList;
import java.util.HashSet;
class Main {
    public static void main(String[] args) {
        //ArrayList을 생성합니다.
        ArrayList<Integer> numbers = new ArrayList<>();
        //ArrayList에 요소를 추가합니다.
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("ArrayList: " + numbers);
        //HashSet을 생성합니다.
        HashSet<Integer> primeNumbers = new HashSet<>();
        //요소를 HashSet에 추가
        primeNumbers.add(2);
        primeNumbers.add(3);
        primeNumbers.add(5);
        System.out.println("HashSet: " + primeNumbers);
        //ArrayList에서 공통 요소 유지
        numbers.retainAll(primeNumbers);
        System.out.println("공통 요소: " + numbers);
    }
}

출력 결과

ArrayList: [1, 2, 3]
HashSet: [2, 3, 5]
공통 요소: [2, 3]

위의 예제에서 numbers라는 arraylist와 primeNumbers라는 해시 셋을 생성했습니다. 주의해야 할 것은 이 줄입니다.

numbers.retainAll(primeNumbers);

여기서 retainAll() 메서드는 numbers에 존재하지 않는 primeNumbers에 있는 모든 요소를 지우고, 공통 요소만 유지합니다. 따라서23arraylist numbers에 유지됩니다.

Java ArrayList 메서드