如何在大小有限的kotlin中制作FIFO? Kotlin是否有这种类型的收藏?
答案 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