Java是否具有带有删除策略的有界Collection?

Auf*_*gel 1 java

可能重复:
大小受限制的队列,其中包含Java中的最后N个元素

java是否包括一个本机类,该类允许最多数量的元素,并且如果我再输入一个元素,它将自动删除旧的元素(例如,基于自然排序)?

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

Rob*_*ner 5

有很多。

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

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

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