자료구조는 데이터를 효율적으로 저장하고 조회하기 위한 방법이다.

🧭 Stack

정의

Stack은 LIFO(Last In, First Out) 방식으로 동작하는 자료구조다.

가장 최근에 넣은 값을 먼저 꺼낸다.
깊이 우선 탐색, 함수 호출 스택, 되돌리기 기능 등에 자주 사용된다.

Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
int value = stack.pop();

자주 쓰는 메서드

  • push
  • pop
  • peek
  • empty

🧭 Queue

정의

Queue는 FIFO(First In, First Out) 방식으로 동작하는 자료구조다.

먼저 들어온 값을 먼저 꺼낸다.
너비 우선 탐색, 작업 대기열, 메시지 큐 등에 사용된다.

Queue<Integer> queue = new LinkedList<>();
queue.offer(1);
queue.offer(2);
int value = queue.poll();

자주 쓰는 메서드

  • offer
  • poll
  • peek

🧭 Map

정의

Map은 Key와 Value의 쌍으로 데이터를 저장하는 자료구조다.

  • 키는 중복될 수 없다.
  • 값은 중복될 수 있다.
  • 검색 속도가 빠른 편이다.
Map<String, String> map = new HashMap<>();
map.put("key1", "value1");

자주 쓰는 메서드

  • put
  • get
  • getOrDefault
  • containsKey
  • containsValue

🧭 Set

정의

Set은 중복을 허용하지 않는 집합 자료구조다.

  • 같은 값을 여러 번 넣어도 하나만 유지된다.
  • 순서 보장이 필요한 경우와 아닌 경우를 구분해서 선택한다.
Set<String> set = new HashSet<>();
set.add("tom");
set.add("tom");

자주 쓰는 메서드

  • add
  • remove
  • contains
  • size

⚠️ 비교 포인트

  • Stack은 후입선출 구조다.
  • Queue는 선입선출 구조다.
  • Map은 키를 기준으로 빠르게 조회한다.
  • Set은 중복 제거에 적합하다.

연결문서

댓글남기기