Kotlin Queue??
1.개요
kotlin에서 제공하는 list를 이용하여 queue를 이용하여 구현한 방법에 대해 소개하려고 합니다.
2. Queue란?
First In First Out의 형태를 가지며 입력은 enqueue, 출력은 dequeue이라고 부른다.
👉쉽게 말해 표를 끊기 위해 줄을 서는 모습을 상상하면 좋다. 맨 처음 줄을 선 사람은 맨 처음 결제할 수 밖에 없다.
3. Kotlin Queue 정의
interface QueueImplement<Type> {
fun enqueue(item: Type)
fun dequeue(): Type?
fun count(): Int
fun peek(): Type?
fun isEmpty(): Boolean
}
※ Generic을 이용하여 사용자가 원하는 데이터 형을 넣을 수 있도록 구현
4. kotlin Queue 구현
class Queue : QueueImplement<Int> {
var list = mutableListOf<Int>()
override fun enqueue(item: Int) {
list.add(item)
}
override fun dequeue(): Int? {
if (!isEmpty()) {
return list.removeAt(0)
}
return null
}
override fun count(): Int {
return list.size
}
override fun peek(): Int? {
if (!list.isEmpty()) {
return list[0]
}
return null
}
override fun isEmpty(): Boolean {
return list.size == 0
}
}
5. 결론
kotlin에서 list를 이용하면 간단하게 Queue를 구현할 수 있다. 값이 존재하지 않을 때 필자는 null을 사용하여 값이 없을때를 판단 해주었으나, 다른 방법도 활용이 가능할 것이라 생각합니다.
Leave a comment