具有有限元素的FIFO映射

时间:2013-06-07 16:36:48

标签: java collections map queue fifo

我需要HashMap或简化Map,其中包含固定数量的元素( n ),就像 FIFO 队列一样。

因此,在元素编号为< = n 之前,新元素只需放入地图中。

对于元素编号> n 删除第一个插入的元素,并将最新的元素放入地图中。

Java中有类似的东西,还是我必须实现它?

2 个答案:

答案 0 :(得分:26)

您可以使用LinkedHashMap执行此操作,如下所示:

new LinkedHashMap<K, V>(n) {
  @Override protected boolean removeEldestEntry(Entry<K, V> entry) {
    return size() > n;
  }
};

答案 1 :(得分:2)

正如我站在一边,Java冗长是最佳功能...... 以下对我有用:

rqst 1

它也适用于Google App Engine,似乎与Entry类有问题。