자바의 정석
[자바(JAVA)] Stack & Queue의 구조와 특징
xlxlxl7
2023. 7. 20. 21:04
728x90
🔷 Stack (밑이 막힌 상자)
- LIFO구조로 마지막에 저장된 것을 제일 먼저 꺼내게 된다.
Stack & Queue는 컴퓨터 프로그래밍에서 가장 많이 사용되는 기본적인 구조이다.
- 입력: 0 -> 1 -> 2
- 출력: 2 -> 1 -> 0
Stack은 가장 마지막부터 꺼내기 때문에 배열이 효율적이다.
🔷 Queue(양 끝이 뚫린 상자)
- FIFO 구조로 제일 먼저 저장한것을 제일 먼저 꺼낸다.
- 입력: 0 -> 1-> 2
- 출력: 0 -> 1-> 2
Queue는 LinkedList로 구현하는게 더 적합하다.
- remove()와 poll()은 예외발생 유무에서 차이가 있다.
- remove() -> try-catch로 처리
- poll() -> ==null 여부로 확인
- 나머지도 동일한 차이임
Queue는 인터페이스로만 정의되었고 클래스는 없다. 사용이 필요할 경우 Queue인터페이스로 구현된 클래스를 선택해서 사용한다.
👉LinkedList도 Queue인터페이스를 구현한 클래스임
728x90