관리 메뉴

공부가 싫은 개발자

[JAVA] Set 본문

코딩테스트

[JAVA] Set

우엉엉 2025. 10. 17. 14:33

✅ 기본 개념

  • 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