Language/Java
[Java] Stack vs Queue
i-m-okay
2024. 7. 24. 19:43
Stack과 Queue
- Stack : LIFO - ArrayList로 구현 - 수식계산, 괄호검사, undo/redo
- Queue : FIFO - LinkedList로 구현 - 최근 사용문서, 인쇄작업 대기목록, 버퍼
메서드
stack : empty()
, peek()
, pop()
, push(o)
, search(o)
queue : add(o)
, remove()
, element()
, offer(o)
, poll()
, peek()
- java에서는 Stack은 클래스로 제공하지만 Queue는 따로 클래스로 제공하지 않음 -> Queue인터페이스를 구현한 클래스를 사용하자
- 추가 메서드 :
push()
,offer()
,add()
- 꺼내서 반환하는 메서드 :
pop()
,remove()
,poll()
꺼내서 반환하는 메서드들의 차이
- Stack :
pop()
과peek()
은 없으면 EmptyStackException발생 - Queue:
element()
,peek()
는 삭제 없이 반환하는 메서드(element()
는 없을 때 NoSuchElementException,peek()
은 없을 때 null)