[자료구조] Set 이해하기

정은아·2024년 2월 10일
post-thumbnail

💡 자료구조 Set에 대해 알아보자!

Set

  • Set(집합)이란, 데이터 자료구조(데이터 컬렉션) 중에 하나로 특정한 값들을 저장하는 추상자료형을 뜻한다.
  • 값들을 중복으로 삽입이 불가능하다. 동일한 값이 삽입되면 하나의 값만 저장된다.
  • 데이터를 비순차적으로 저장할 수 있는 순열 자료구조이다.
  • 삽입한 데이터가 순서대로 저장되지 않는다.
  • 수정 가능(mutable)하다
  • 자주 사용되는 메서드로는 add()와 remove()가 있다.
  • Fast Lookup이 필요할 때 주로 쓰인다.
  • isEmpty()도 사용할 수 있으나, Stack과 Queue와는 용도가 다르므로 잘 사용하진 않는다. (스택과 큐는 값을 빼내기 때문이고, 셋은 데이터를 빼내지 않고 중복확인 등으로 사용하기 때문에 잘 사용하지 않는다.)
  • ex.
   Set<String> set = new HashSet<>(); // 중복 제거

        set.add("22");
        set.add("Cruel Summer");
        set.add("Twist");

        if(!set.contains("Lover")){
            set.add("Lover!!!!!");
        }
        set.remove("Twist");

        for (String str : set){
            System.out.println(str);
        }

Set 구현하기

  • Set <Class> name = new ~~ <>();
    • 왜 맨 앞에 Set만 쓸까? interface때문!

Set의 종류

1. HashSet

  • Set을 구현하는 대표 클래스, 데이터 중복할 수 없고 순서를 보장하지 않는다

2. TreeSet

  • HashSet 특성 + 오름차순으로 데이터를 정렬한다

3. LinkedHashSet

  • 데이터를 중복해서 저장할 수없고, 입력한 순서대로 데이터를 저장한다.

Set의 주요 메서드

  • add(element): Set에 요소를 추가.
  • remove(element): Set에서 요소를 제거.
  • contains(element): Set에 특정 요소가 있는지 확인.
  • size(): Set의 요소 개수를 반환.
profile
꾸준함의 가치를 믿는 개발자

0개의 댓글