English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java ArrayList retainAll() 메서드는 ArrayList와 지정된 집합에 모두 존재하는 요소만 유지합니다.
또한, 지정된 집합에 나타나지 않은 모든 요소가 arraylist에서 제거됩니다.
retainAll() 메서드의 문법은 다음과 같습니다:
arraylist.retainAll(Collection c);
collection- 集合에 존재하는 요소만 arraylist에 유지됩니다.
arraylist에서 요소를 제거하면 true를 반환합니다
중에 존재하는 요소 클래스가 지정된집합중의 요소 클래스가 불일치하면 ClassCastException 예외가 발생합니다
arraylist에 null 요소가 포함되어 있으며 지정된집합null 요소를 허용하지 않으면 NullPointerException이 발생합니다
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모든 요소를 유지합니다. 따라서, 공통 요소만을 유지합니다.
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에 있는 모든 요소를 지우고, 공통 요소만 유지합니다. 따라서2과3arraylist numbers에 유지됩니다.