반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 배열
- ArrayList
- Files
- Array
- CSS
- Maven
- json
- javascript
- table
- 인텔리제이
- 테이블
- 자바스크립트
- IntelliJ
- string
- Java
- 문자열
- Visual Studio Code
- list
- 자바
- 이탈리아
- input
- Button
- CMD
- windows
- vscode
- js
- html
- date
- Eclipse
- 이클립스
Archives
- Today
- Total
어제 오늘 내일
[Java] 두 개의 List를 비교하여, 서로 중복되는 값 찾기 본문
두 개의 List를 비교하여,
서로 중복되는 값을 찾기 위해서
Collection 객체의 retainAll() 메소드를 사용할 수 있습니다.
java.util.Collection의 retainAll()
boolean retainAll(Collection<?> c)
retainAll() 메소드는
파라미터로 전달받은(c) Collection 객체가 포함하고 있는 값만을
원본 Collection 객체가 가지도록 합니다.
즉, 파라미터로 전달받은(c) Collection 객체가 가지고 있지 않은 값은,
원본 Collection 객체에서 삭제합니다.
다시 말하면, 결국 원본 Collection 객체는
파라미터로 전달받은 Collection 객체와 중복되는 값 만을 가지게 됩니다.
리턴값
메소드를 실행하고, 원본 Collection 객체가 변경되면 true를 리턴합니다.
예제
List는 Collection 객체이므로, retainAll() 메소드를 사용할 수 있습니다.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ListDuplication {
public static void main(String[] args) {
// 비교할 List 준비
List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3));
List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3, 4));
// 비교해서 중복값 찾기
list1.retainAll(list2);
// 결과 출력
System.out.println(list1); // [2, 3]
System.out.println(list2); // [2, 3, 4]
}
}
list1.retainAll(list2);
retainAll() 메소드는 list1에서 list2가 가지고 있는 값들만 남깁니다.
즉, list1에는 list2와 중복된 값들만 남게 됩니다.
여기서 주의할 것은,
list1의 원본 List가 변경되다는 것에 유의하여야 합니다.
두 개의 List에서 retainAll() 메소드를 사용하여 중복된 값을 찾는 방법을 알아보았습니다.
반응형
'IT > Java' 카테고리의 다른 글
[Java] 특정 날짜의 요일 구하기 (숫자, 영문, 한글) (0) | 2021.06.19 |
---|---|
[Java] 문자열을 날짜로 변환하기 (Date, LocalDateTime) (1) | 2021.06.19 |
[Java] 현재 날짜, 현재 시간 구하기 (1) | 2021.06.18 |
[Java] 파일에서 확장자 추출하기 (0) | 2021.06.07 |
[Java] 파일 복사하기 (0) | 2021.06.07 |
Comments