Java是否有一个带有删除策略的有界集合?

时间:2012-07-20 15:31:56

标签: java

  

可能重复:
  Size-limited queue that holds last N elements in Java

java是否包含允许最大数量元素的本机类,如果我输入更多元素,会自动删除旧元素(例如基于自然分类)?

如果没有,我当然可以自己写,但我只是想问。

1 个答案:

答案 0 :(得分:5)

有很多。

您可以使用队列,并指定固定长度。使用ArrayList实现自己的,每次添加新元素时都会删除元素0,这会增加超出限制的大小。

一种流行的技术是使用LinkedHashMap制作queue

  queue = new LinkedHashMap<Integer, String>()
  {
     @Override
     protected boolean removeEldestEntry(Entry<Integer, String> eldest)
     {
        return this.size() > yourMaxSize;   
     }
  };