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 | 31 |
Tags
- PythonProgramming
- 중도인출
- 사망
- 프론트엔드
- 보험료
- jQuery
- 인출수수료
- 자바스크립트
- 특약
- 웹개발
- 프로그래밍
- 변환
- 파이썬
- 문자열
- 리스트
- 심장질환
- 급성심근경색증
- python
- 코딩
- 교보생명
- 뇌출혈
- javascript
- 납입
- 수수료
- 교보
- 추가납입
- Vue.js
- Java
- 보험
- 가입
Archives
- Today
- Total
SeouliteLab
[Java/자바] 두 개의 리스트의 교집합 찾기 본문
Java에서 두 개의 리스트에서 공통 요소, 즉 교집합을 찾아야 할 때가 있습니다. 이 블로그 포스트에서는 Java를 사용하여 두 개의 리스트의 교집합을 찾는 여러 가지 방법을 알아보겠습니다. 각 예제는 해당하는 방법으로 교집합을 찾는 방법을 보여줍니다.
예제 1: 반복문과 contains() 메서드 사용
import java.util.ArrayList;
import java.util.List;
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
list1.add("orange");
List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("grape");
List<String> intersection = new ArrayList<>();
for (String item : list1) {
if (list2.contains(item)) {
intersection.add(item);
}
}
System.out.println("Intersection: " + intersection);
위의 예제에서는 반복문을 사용하여 첫 번째 리스트의 각 요소가 두 번째 리스트에 포함되어 있는지 확인하고 교집합을 만듭니다. 이 방법은 간단하지만 두 번째 리스트의 요소를 반복할 때마다 contains() 메서드를 호출하므로 효율적이지 않을 수 있습니다.
예제 2: retainAll() 메서드 사용
import java.util.ArrayList;
import java.util.List;
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
list1.add("orange");
List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("grape");
list1.retainAll(list2);
System.out.println("Intersection: " + list1);
두 번째 예제에서는 retainAll() 메서드를 사용하여 첫 번째 리스트를 두 번째 리스트와 공통 요소만 남기는 방법을 보여줍니다. 이 방법은 두 번째 리스트의 요소를 반복하지 않고도 공통 요소를 찾을 수 있어 효율적입니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] 2차원 리스트 평탄화(flatten)하기 (0) | 2024.03.07 |
---|---|
[Java/자바] 두 개의 리스트의 차집합 찾기 (0) | 2024.03.07 |
[Java/자바] ArrayList의 깊은 복사(deep copy) 예제 (0) | 2024.03.07 |
[Java/자바] ArrayList에서 랜덤 요소 가져오기 (0) | 2024.03.07 |
[Java/자바] Set에 특정 요소 확인하기 (0) | 2024.03.07 |