我想要一张带有一些重复键的有限大小的地图。当大小达到时,我想删除最旧的条目。
例如,该数据集:
MAX_SIZE=5; map.put(100,"OLDEST"); map.put(101,"XXXX"); map.put(101,"YYYY"); map.put(102,"ZZZZ"); map.put(103,"GGGG");
然后我想在地图中插入一个新条目
myLength = map.size() if(myLength>=MAX_SIZE){ map.remove(the OLDEST) } map.put(105,"NEW")
我在想番石榴多地图,但如何删除多地图中最古老的条目?
他们的钥匙很长,也许我需要做一个吗?(效率不高)
oldest=MAX_LONG for(Long key:map){ if(key<oldest){ oldest=key } } map.remove(oldest)
使用 LinkedListMultimap :它保留了插入顺序,因此删除最旧的条目只需删除返回的列表的第一个元素 entries()