diff options
author | Linnea Gräf <nea@nea.moe> | 2024-03-30 19:44:32 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-03-30 19:44:32 +0100 |
commit | 0414b87e02e51b51cf9ef0c165e5ed61e5193160 (patch) | |
tree | 0d1a0144c44b252dcabc2c1d685a7d2b27e6adee /src/main/java/moe/nea/caelo/util/Histogram.kt | |
download | veloxcaelo-0414b87e02e51b51cf9ef0c165e5ed61e5193160.tar.gz veloxcaelo-0414b87e02e51b51cf9ef0c165e5ed61e5193160.tar.bz2 veloxcaelo-0414b87e02e51b51cf9ef0c165e5ed61e5193160.zip |
Initial commit
Diffstat (limited to 'src/main/java/moe/nea/caelo/util/Histogram.kt')
-rw-r--r-- | src/main/java/moe/nea/caelo/util/Histogram.kt | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/moe/nea/caelo/util/Histogram.kt b/src/main/java/moe/nea/caelo/util/Histogram.kt new file mode 100644 index 0000000..6c4add1 --- /dev/null +++ b/src/main/java/moe/nea/caelo/util/Histogram.kt @@ -0,0 +1,17 @@ +package moe.nea.caelo.util + +class Histogram<T>(val maxSize: Int) : Iterable<T> { + private val dequeue = ArrayDeque<T>() + fun append(element: T) { + dequeue.addLast(element) + if (dequeue.size > maxSize) { + dequeue.removeFirst() + } + } + + val size get() = dequeue.size + + override fun iterator(): Iterator<T> { + return dequeue.iterator() + } +}
\ No newline at end of file |