[자료구조]-Set

개념

Collection은 자바에서 데이터의 집합, 그룹을 의미한다.
Set은 Collection의 하위 인터페이스 이다.

특징

  1. Set은 List와 다르게 데이터를 중복해서 저장할 수 없다.
  2. 데이터를 인덱스로 관리하지 않는다.
  3. 저장 순서가 보장되지 않는다.

대표적인 클래스

  • HashSet
  • TreeSet
  • LinkedHashSet

1. HashSet

  • Set 컬렉션을 구현하는 대표적인 클래스
  • 데이터를 중복 저장할 수 없고 순서를 보장하지 않는다.

2. TreeSet

  • 데이터를 중복 저장할 수 없고 입력한 순서대로 값을 저장하지 않는다.
  • TreeSet은 기본적으로 오름차순 데이터 정렬 한다.

3. LinkedHashSet

  • 데이터를 중복 저장할 수 없다.
  • 입력된 순서대로 데이터 관리한다.

Set API


Set<T> set = new HashSet<T>(); // 객체 선언
set.add(E element); // 데이터 추가
set.remove(E element); // 데이터 삭제
set.size(); // 크기 반환
Iterator<T> it = set.iterator(); // 이터레이터 생성

요약

  • Set은 데이터를 중복 저장할 수 없다.
  • 각 클래스의 특징을 고려해서 선택하자