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을 반환 |