프로그래밍 언어/Kotlin

Kotlin의 ArrayDequeue : Stack & Queue를 손쉽게 사용하기

Julie825 2023. 1. 6. 16:14
public class ArrayDeque<E> : AbstractMutableList<E>

Deque는 Double Ended Queue의 줄임말이다. 덱이라고 부르면 된다.

어느 방향으로든 삽입과 삭제가 구현되어있어서 Stack으로도, Queue로도 사용 가능하다.

MutableList로 구현되어있어서 index를 통한 get/set operation도 가능하다.

 

Stack으로 사용하는 법

/* Stack */
val stack = ArrayDeque<Int>()
stack.add(e) // push, list 끝에 넣는다.
stack.removeLast() // pop
stack.last() // peek(조회)

: Java에 Vector로 구현된 Stack이 있어서 Stack은 꼭 Deque을 사용하지 않아도 된다.

 

Queue로 사용하는 법

/* Queue */
val queue = ArrayDeque<Int>()
queue.add() // offer, list 끝에 넣는다.
queue.removeFirst() // poll
queue.first() // 조회