자료구조 - Set

컴퓨터/알고리즘&자료구조

728x90
반응형

Set이란?

Set형태의 자료구조는 List와 Map의 사이의 개념 정도의 자료구조입니다. 

지난 자료구조들을 간략하게 정의해보자면 아래와 같습니다.

  • List 데이터를 순서대로 저장하는 자료구조 (값의 중복은 허용됨)
  • Map 데이터를 Key 와 Value의 형태로 저장하는 자료구조 (Key의 중복은 허용되지 않음)

Set은 기본적으로 순서대로 데이터를 저장하지 않습니다. 하지만 List의 형태와는 달리 값의 중복을 허용하지 않습니다. 

다시 정리하자면 다음과 같습니다.

  • Set은 중복값을 삽입할 수 없다.
  • Set은 기본적으로 특정한 순서대로 데이터를 저장하지 않는다.

 

간단하게 집합의 개념의 구현체이다.

흔히 자료구조로 불리는 Set은 수학에서 배운 집합이라 생각하시면 이해가 편합니다. 단순하게 메모리 공간에서 특정 데이터들을 모아두는 장소로서의 개념입니다. 당연하게도 순서는 상관없지만 데이터의 중복을 허용하고 싶지 않을 때 사용하면 강력한 자료구조입니다.

 

Set 자료구조의 대표적인 종류

Java 컬렉션 프레임 워크에서 제공하는 Set의 개념을 통한 대표적인 3가지 구현 자료구조는 다음과 같습니다.

  • HashSet
    • 가장 일반적인 Set과 Hash알고리즘을 적용한 자료구조로 가장 빠르다.
  • TreeSet
    • 저장된 데이터의 값에 따라 정렬되는 Set 구조
  • LinkedHashSet
    • 값의 중복은 허용되지 않으나 Linked의 개념을 이용하여 순서대로 데이터를 쌓아갈 수 있다.
728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :