Apache Groovyでサイズ有りキューを実装
特にどうという内容ではないのですが、昔メモしたまま残していたのを発見したのでバックアップがてらブログにポスト。
def getSizedQueueBy = { Integer size ->
List q = []
return { value ->
if (q.size() >= size) {
q = q.tail() + value
} else {
q << value
}
q
}
}
// こんな感じで使える
def queue = getSizedQueueBy(3)
assert queue(1) == [1]
assert queue(2) == [1, 2]
assert queue(3) == [1, 2, 3]
assert queue(4) == [2, 3, 4]
assert queue(5) == [3, 4, 5]
公開日:2018/12/13