[자료구조] List / Map / Set

Yedam Lee·2023년 2월 5일
0

List

순서와 중복이 있는 자료구조 (배열과 유사)

종류

  • LinkedList

  • Stack

  • Vector

  • ArrayList

특징

  • 순서가 있고, 중복을 허용한다.
  • 인덱스로 원소에 접근이 가능하다.
  • 크기가 가변적이다.

Map

Key와 Value로 이루어진 자료구조 (Object와 상당히 유사한 순회 가능한 객체)

종류

  • HashMap

  • TreeMap

  • HashTable

  • Properties

특징

  • Key에는 중복된 값이 입력될 수 없다.
  • 순서가 유지되지 않는다.
  • Value의 중복은 허용된다.
  • 뛰어난 검색 속도를 갖고 있다.
  • 인덱스가 따로 존재하지 않기 때문에 iterator를 사용합니다.

🕹 주요 메서드와 프로퍼티

  • new Map(iterable) : 맵 객체를 만든다. (매개변수로 [키, 값] 으로 이루어진 배열이나 이터러블 객체를 전달하면 그안의 값을 복사해 맵에 넣어준다.)
  • set(key, value) : key를 이용해 value를 저장한다.
  • get(key) : key에 해당하는 값을 반환한다. (key가 존재하지 않으면 undefined를 반환한다.)
  • has(key) : key가 존재하면 true, 존재하지 않으면 false를 반환한다.
  • delete(key) : key에 해당하는 값을 삭제한다. (key가 삭제되었으면 true, 키가 없는 등 삭제가 안됐으면 false 반환)
  • clear() : 맵(Map) 안의 모든 요소를 제거한다.
  • size : 맵 객체 안에 있는 요소의 개수를 반환한다.

Set

순서와 중복이 존재할 수 없는 자료구조

종류

  • HashSet

  • TreeSet

특징

  • 인덱스를 사용하지 않는다.
  • 키가 없는 값을 저장한다는 점에서 배열(array)과 유사하다.
  • 빠른 검색 속도를 갖고 있다.
  • 인덱스가 따로 존재하지 않기 때문에 iterator를 사용합니다.

🕹 주요 메서드와 프로퍼티

  • new Set(iterable) : 셋 객체를 만든다. (배열이나 이터러블 객체를 전달하면 그 안의 값을 복사해 셋에 넣어준다.)
  • add(value) : 값을 추가한다.
  • delete(value) : 값을 제거한다. (삭제되었으면 true, 값이 없는 등 삭제가 안됐으면 false 반환)
  • has(value) : 셋(Set) 내에 값이 존재하면 true, 아니면 false를 반환한다.
  • clear() : 셋(Set) 안의 모든 요소를 제거한다.
  • size : 셋(Set) 객체 안에 있는 요소의 개수를 반환한다.
profile
프론트엔드 개발자

0개의 댓글