///////
Search
👶🏻

Stack을 사용하지 못하는 상황에서 대체할 수 있는 Collection은 무엇이 있을까요?

스택의 구조는 위와 같이 FILO(First In Last Out) 구조이다.
↑ 덱에서 사용하는 원소 추가 혹은 삭제 메서드
↓ 덱에서 사용하는 원소 조회 메서드
Deque는 스택과 큐의 기능을 모두 사용할 수 있는 자료구조이다.
따라서, 특정 메서드만 사용하면 Stack과 같은 기능으로 사용할 수 있다.
비슷해 보이는 메서드 차이점 살펴보기

addXX() vs offerXX()

addXX() : 앞쪽 혹은 뒷쪽 에 엘리먼트를 삽입한다. 용량 제한이 있는 경우, 용량을 초과하면 예외 발생
offerXX() : 정상적으로 엘리먼트가 삽입된 경우 true가 리턴되며, 용량 제한에 걸리는 경우 false를 리턴한다.
add는 void 메서드이며 용량 제한을 넘는 경우 예외 발생!
offer boolean 메서드이며 용량 제한을 넘는 경우 false 반환!

removeXX() vs pollXX()

removeXX() : 앞쪽 혹은 뒷쪽 엘리먼트를 제거한 후, 리턴한다. 덱이 비어있으면 예외 발생
pollXX() : 앞쪽 혹은 뒷쪽 엘리먼트를 제거한 후, 리턴한다. 덱이 비어있으면 null 반환
remove는 덱이 빈 경우, 예외 발생!
poll은 덱이 빈 경우, null 반환!