你怎么能缩小LinkedHashMap?我重写了removeEldestEntry方法,但只在插入新值时才调用此方法一次.所以没有改变使地图变小这种方式.
LinkedHashMap只提供一个普通的迭代器,并且没有任何removeLast或listIterator方法,那么如何找到最后的1000个条目并删除它们呢?
我能想到的唯一方法是迭代整个事情.但那可能需要很长时间……
每次我想删除少量元素时创建一个新地图也会破坏内存.
当removeEldestEntry方法中的maxSize减少时,可能会删除Iterator的第一个值,然后重新插入它们.然后重新插入将踢出最旧的值.这是非常难看的代码……有什么更好的想法吗?
编辑:Sry迭代顺序是最年轻的.这很容易