Notice
Recent Posts
Recent Comments
Link
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> difference = new ArrayList<>();
for (String item : list1) {
if (!list2.contains(item)) {
difference.add(item);
}
}
System.out.println("Difference: " + difference);
위의 예제에서는 반복문을 사용하여 첫 번째 리스트의 각 요소가 두 번째 리스트에 포함되어 있는지 확인하고, 포함되어 있지 않은 요소를 찾아서 차집합을 만듭니다. 이 방법은 간단하지만 두 번째 리스트의 요소를 반복할 때마다 contains() 메서드를 호출하므로 효율적이지 않을 수 있습니다.
예제 2: removeAll() 메서드 사용
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.removeAll(list2);
System.out.println("Difference: " + list1);
두 번째 예제에서는 removeAll() 메서드를 사용하여 첫 번째 리스트에서 두 번째 리스트와 겹치는 요소를 모두 제거하는 방법을 보여줍니다. 이 방법은 두 번째 리스트와 겹치는 모든 요소를 한 번에 제거하기 때문에 효율적입니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] 리스트 안에 리스트 추가하기 (2차원 리스트) (0) | 2024.03.07 |
---|---|
[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 |