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

Apache Groovy

About me

ドイツの現地企業でWeb Developer/System Administratorとして働いているアラフォーおじさんです。

プログラミングとかコンピュータに関する事がメインですが、日常的なメモとか雑多なことも書きます。

Links :
目次