You can do `unfilteredResultsCache.filterNot { it....
# announcements
m
You can do
unfilteredResultsCache.filterNot { it.value.timeStamp.toEpochSecond(offset) < lastHourEpoch }
, which will only create 1 new collection. Not one collection for every element removed.
c
ok so something like this would be more safe
private fun sweepOldResults(){ val offset = OffsetDateTime.now().offset val lastHourEpoch = LocalDateTime.now().minusHours(1).toEpochSecond(offset) val iter = unfilteredResultsCache.iterator() iter.forEach { if(it.value.timeStamp.toEpochSecond(offset) < lastHourEpoch) iter.remove() } }
👍 2