공부가 싫은 개발자
[JAVA] Set 본문
✅ 기본 개념
- Set은 중복을 허용하지 않는 자료구조
- 순서가 없고, 빠른 검색이 가능
- 대표 구현체: HashSet, TreeSet, LinkedHashSet
1. 선언과 초기화
Set<Integer> set = new HashSet<>();
2. 요소 추가
set.add(10);
set.add(10); // 중복 → 무시됨
3. 요소 삭제
set.remove(10);
4. 존재 여부 확인
set.contains(10); // true/false
5. 전체 순회
for (int num : set) {
System.out.println(num);
}
6. 크기 확인
set.size();
7. 초기화
set.clear();
8. 리스트 ↔ 셋 변환
List<Integer> list = Arrays.asList(1, 2, 2, 3);
Set<Integer> set = new HashSet<>(list); // 중복 제거
List<Integer> deduped = new ArrayList<>(set); // 다시 리스트로
9. 코딩테스트에서 자주 쓰이는 상황
| 상황 | 활용 예시 |
| 중복 제거 | new HashSet<>(list) |
| 빠른 존재 확인 | set.contains(x) |
| 유일한 값 저장 | set.add(x) |
| 정렬된 유일값 | TreeSet 사용 |
'코딩테스트' 카테고리의 다른 글
| [JAVA] Stack (0) | 2025.10.17 |
|---|---|
| [JAVA] Queue (0) | 2025.10.17 |
| [JAVA] Map (0) | 2025.10.17 |
| [JAVA] Collections (0) | 2025.10.17 |
| [JAVA] 배열 (0) | 2025.10.17 |