List, Set, Map, HashMap의 차이에 대해서 설명해주세요.

권성현·2023년 2월 23일
0

면접 준비

목록 보기
8/30

자료구조는 list, stack, queue, hash table이 있다.

그 중에서 list, set, map의 차이점에 대해 알아보자

1. List : 저장공간이 필요에 의해 자동으로 늘어난다 ( 순서가 있는 저장공간 )

  • 특징 : 순서가 있고, 중복을 허용(배열과 유사)

  • 장점 : 가변적인 배열9배열이 자동으로 늘어남)

  • 단점 : 원하는 데이터가 뒤쪽에 위치하는 경우 속도의 문제

  • 방식 : equals()를 이용한 데이터 검색


2. Set : 집합, 순서가 없다. 집합이므로 중복된 데이터가 들어갈 수 없다.
중복되지 않는 숫자(데이터)를 구할 때 사용하면 유용하다.

  • 특징 : 순서가 없고, 중복을 허용하지 않는다

  • 장점 : 빠른 속도

  • 단점 : 단순 집합의 개념으로 정렬하려면 별도의 처리가 필요하다

3. Map : 키와 데이터를 같이 저장

  • 특징 : Key(키)랑 Value(값)으로 나눠서 데이터 관리, 순서는 없으며, 키에 대한 중복은 없음

  • 장점 : 빠른 속도

  • 단점 : Key의 검색 속도가 검색 속도를 좌우

3-1 HashMap : index번호 대신 키값으로 값을 찾는 맵형태의 자료구조도 iterator 클래스를 이용해서 키값을 순서대로 iterator에 저장해두면 순서대로 데이터 추출이 가능하다.

  • HashMap 은 Map Interface 를 Implements 한 클래스로서 중복을 허용하지 않는다.
    Map 의 특징인 Key 와 Value 의 쌍으로 이루어지며, key 또는 value 값으로써 null 을 허용한다.

❗❗List와 Set와 Map와 HashMap의 차이

  • List는 기본적으로 순서대로 데이터가 들어가며 중복을 허용한다.
  • Set은 순서가 보장되지 않고 중복을 허용하지 않는다.
  • Map은 순서가 보장되지 않고, Key 중복은 허용하지 않지만 Value의 중복은 허용된다.
    (HashMap과 Map의 차이는 red-black tree 알고리즘을 이용한다.)
  • HashMap은 이름 그대로 Hash Table 을 이용해서 키-값 관계를 유지한다.
profile
개발일지

0개의 댓글