특징

장점과 단점

예시 코드

class Queue<T> {
    private val elements: MutableList<T> = mutableListOf()

    fun enqueue(item: T) {
        elements.add(item)
    }

    fun dequeue(): T? {
        if (!elements.isEmpty()) {
            return elements.removeAt(0)
        }
        return null
    }

    fun peek(): T? {
        if (!elements.isEmpty()) {
            return elements[0]
        }
        return null
    }
}

val queue = Queue<Int>()
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
println(queue.dequeue()) // 1
println(queue.peek())    // 2