Skip to content

Commit da168c0

Browse files
committed
Fix LimitedDecayQueue MutableIterator
1 parent 45ca49f commit da168c0

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

common/src/main/kotlin/com/lambda/util/collections/LimitedDecayQueue.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,17 @@ class LimitedDecayQueue<E>(
4242

4343
override fun iterator(): MutableIterator<E> {
4444
cleanUp()
45-
return queue.map { it.first }.iterator() as MutableIterator<E>
45+
return object : MutableIterator<E> {
46+
private val delegate = queue.iterator()
47+
48+
override fun hasNext(): Boolean = delegate.hasNext()
49+
50+
override fun next(): E = delegate.next().first
51+
52+
override fun remove() {
53+
delegate.remove() // This affects the underlying queue directly
54+
}
55+
}
4656
}
4757

4858
@Synchronized

0 commit comments

Comments
 (0)