자바의 정석

[자바(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