자료구조
자료구조는 데이터를 효율적으로 저장하고 조회하기 위한 방법이다.
🧭 Stack
정의
Stack은 LIFO(Last In, First Out) 방식으로 동작하는 자료구조다.
가장 최근에 넣은 값을 먼저 꺼낸다.
깊이 우선 탐색, 함수 호출 스택, 되돌리기 기능 등에 자주 사용된다.
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
int value = stack.pop();
자주 쓰는 메서드
pushpoppeekempty
🧭 Queue
정의
Queue는 FIFO(First In, First Out) 방식으로 동작하는 자료구조다.
먼저 들어온 값을 먼저 꺼낸다.
너비 우선 탐색, 작업 대기열, 메시지 큐 등에 사용된다.
Queue<Integer> queue = new LinkedList<>();
queue.offer(1);
queue.offer(2);
int value = queue.poll();
자주 쓰는 메서드
offerpollpeek
🧭 Map
정의
Map은 Key와 Value의 쌍으로 데이터를 저장하는 자료구조다.
- 키는 중복될 수 없다.
- 값은 중복될 수 있다.
- 검색 속도가 빠른 편이다.
Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
자주 쓰는 메서드
putgetgetOrDefaultcontainsKeycontainsValue
🧭 Set
정의
Set은 중복을 허용하지 않는 집합 자료구조다.
- 같은 값을 여러 번 넣어도 하나만 유지된다.
- 순서 보장이 필요한 경우와 아닌 경우를 구분해서 선택한다.
Set<String> set = new HashSet<>();
set.add("tom");
set.add("tom");
자주 쓰는 메서드
addremovecontainssize
⚠️ 비교 포인트
- Stack은 후입선출 구조다.
- Queue는 선입선출 구조다.
- Map은 키를 기준으로 빠르게 조회한다.
- Set은 중복 제거에 적합하다.
댓글남기기