Java

104. Stack과 Queue - 패스트캠퍼스 백엔드 부트캠프 3기

gkss2tpt 2025. 1. 1. 15:45

1. 스택과 큐(Stack & Queue)

  • 스택(Stack) : LIFO구조, 마지막에 저장된 것을 제일 먼저 꺼내게 된다.(후입선출)
  • 큐(Queue) : FIFO구조, 제일 먼저 저장한 것을 제일 먼저 꺼내게 된다.(선입선출)

2. 스택과 큐(Stack & Queue)의 메서드

  • Stack의 메서드
메서드 설 명
boolean empty() Stack이 비어있는지 알려준다.
Object peek() Stack의 맨 위에 저장된 객체를 반환, pop()과 달리 Stack에서 객체를 꺼내지는 않음. (비었을 때는 EmptyStackException발생)
Object pop() Stack의 맨 위에 저장된 객체를 꺼낸다.
(비었을 때는 EmptyStackException발생)
Object push(Object item) Stack에 객체(item)를 저장한다.
int search(Object o) Stack에서 주어진 객체(o)를 찾아서 그 위치를 반환, 못찾으면 -1을 반환
(배열과 달리 위치는 0이 아닌 1부터 시작)
  • Queue의 메서드
메서드 설 명
boolean add(Object o) 지정된 객체를 Queue에 추가한다. 성공하면 true를 반환, 저장공간이 부족하면 
IliegalStateException발생
Object remove() Queue에서 객체를 꺼내 반환, 비어있으면 NoSuchElementException발생
Object element() 삭제없이 요소를 읽어온다. peek와 달리 Queue가 비었을 때
NoSuchElementException발생
boolean offer(Object o) Queue에 객체를 저장, 성공하면 ture, 실패하면 false를 반환
Object poll() Queue에서 객체를 꺼내서 반환, 비어있으면 null을 반환
Object peek() 삭제없이 요소를 읽어 온다. Queue가 비어있으면 null을 반환