有限大小的FIFO(双端队列)

时间:2020-10-09 21:22:10

标签: android kotlin

如何在大小有限的kotlin中制作FIFO? Kotlin是否有这种类型的收藏?

1 个答案:

答案 0 :(得分:2)

创建一个类 LimitDeque ,覆盖 fun push

class LimitDeque<T>(private val limitSize: Int): ArrayDeque<T>() {
        override fun push(p0: T) {
            if (this.size >= limitSize) pollLast()
            super.push(p0)
        }
    }

示例:

val deque: Deque<Int> = LimitDeque(3)
deque.push(1)
deque.push(2)
deque.push(3)
deque.push(4)
deque.push(5)

deque.forEach(::print) //543