using value notion instead of key for the elements in the circular cache
This commit is contained in:
parent
4a0cda3268
commit
0385f387d9
|
@ -259,8 +259,8 @@ private fun createIntCache(cacheSize: Int): Pair<CircularCache<Int>, Array<Int?>
|
|||
return CircularCache(cacheSize, factory) to internalData!!
|
||||
}
|
||||
|
||||
private fun CircularCache<Int>.putInOrder(vararg keys: Int) {
|
||||
keys.forEach { put(it) }
|
||||
private fun CircularCache<Int>.putInOrder(vararg values: Int) {
|
||||
values.forEach { put(it) }
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -29,13 +29,13 @@ class CircularCache<T : Any>(cacheSize: Int, factory: (Int) -> Array<T?>) {
|
|||
private val cache = factory(cacheSize)
|
||||
private var writeIndex = 0
|
||||
|
||||
fun contains(key: T): Boolean = cache.contains(key)
|
||||
fun contains(value: T): Boolean = cache.contains(value)
|
||||
|
||||
fun put(key: T) {
|
||||
fun put(value: T) {
|
||||
if (writeIndex == cache.size) {
|
||||
writeIndex = 0
|
||||
}
|
||||
cache[writeIndex] = key
|
||||
cache[writeIndex] = value
|
||||
writeIndex++
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ class CircularCacheTest {
|
|||
return CircularCache(cacheSize, factory) to internalData!!
|
||||
}
|
||||
|
||||
private fun CircularCache<Int>.putInOrder(vararg keys: Int) {
|
||||
keys.forEach { put(it) }
|
||||
private fun CircularCache<Int>.putInOrder(vararg values: Int) {
|
||||
values.forEach { put(it) }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue