반응형
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
- string
- Java
- 자바스크립트
- 자바
- js
- input
- Eclipse
- CSS
- vscode
- IntelliJ
- 테이블
- 문자열
- date
- 이탈리아
- Button
- javascript
- Visual Studio Code
- list
- html
- 인텔리제이
- table
- ArrayList
- Maven
- CMD
- 배열
- Array
- json
- 이클립스
- windows
- 정규식
Archives
- Today
- Total
어제 오늘 내일
[Java] Collections.disjoint() – 두 컬렉션이 겹치지 않는지 확인하기 본문
컬렉션을 다루다 보면 두 집합이나 리스트가 공통 원소를 가지고 있는지 확인해야 할 때가 있습니다.
이때 Collections.disjoint()
메서드를 사용하면 아주 간단하게 검사할 수 있습니다.
이 메서드는 두 컬렉션이 서로 겹치는 원소가 있는지 없는지를 간단히 확인할 수 있는 유틸리티입니다.
1. 기본 사용법
import java.util.*;
public class DisjointExample1 {
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(4, 5, 6);
boolean result = Collections.disjoint(list1, list2);
System.out.println(result); // true
}
}
👉 true
가 출력됩니다.
즉, list1
과 list2
는 겹치는 원소가 없다는 뜻입니다.
2. 공통 원소가 있는 경우
import java.util.*;
public class DisjointExample2 {
public static void main(String[] args) {
Set<String> set1 = new HashSet<>(Arrays.asList("apple", "banana", "cherry"));
Set<String> set2 = new HashSet<>(Arrays.asList("cherry", "mango", "orange"));
boolean result = Collections.disjoint(set1, set2);
System.out.println(result); // false
}
}
👉 false
가 출력됩니다."cherry"
라는 원소가 두 집합에 모두 있기 때문입니다.
3. 다양한 컬렉션 타입에서 사용 가능
disjoint()
는 리스트, 집합, 큐 등 모든 컬렉션에서 동작합니다.
import java.util.*;
public class DisjointExample3 {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>(Arrays.asList(1, 2, 3));
List<Integer> list = Arrays.asList(3, 4, 5);
System.out.println(Collections.disjoint(queue, list)); // false
}
}
👉 3
이 공통 원소이므로 false
출력.
4. 활용 예시
- 추천 시스템
- 이미 본 영화 리스트와 새 추천 리스트가 겹치는지 검사
- 중복 체크
- 신규 데이터가 기존 데이터셋에 포함되는지 확인
- 보안/권한 검사
- 사용자 권한과 필요한 권한 집합이 겹치는지 확인
5. 정리
Collections.disjoint(Collection<?> c1, Collection<?> c2)
→ 두 컬렉션에 공통 원소가 없으면 true, 있으면 false 반환- 모든 컬렉션 타입에서 사용 가능
- 데이터 교집합 여부를 간단히 확인할 때 유용
👉 두 컬렉션이 겹치지 않는지 확인할 때는 Collections.disjoint()
를 쓰자!
반응형
'IT > Java' 카테고리의 다른 글
[Java] Collections.fill() – 리스트를 한 값으로 채우기 (0) | 2025.09.11 |
---|---|
[Java] Collections.rotate() – 리스트를 간단히 회전시키는 방법 (0) | 2025.09.11 |
[Java] Collections.synchronizedCollection()으로 아무 컬렉션이나 스레드 안전하게 (0) | 2025.09.10 |
[Java] Collections.synchronizedSet()으로 스레드 안전한 집합 만들기 (0) | 2025.09.09 |
[Java] Collections.synchronizedMap()으로 스레드 안전한 맵 만들기 (0) | 2025.09.09 |
Comments