我需要HashMap
或简化Map
,其中包含固定数量的元素( n ),就像 FIFO 队列一样。
因此,在元素编号为< = n 之前,新元素只需放入地图中。
对于元素编号> n 删除第一个插入的元素,并将最新的元素放入地图中。
Java中有类似的东西,还是我必须实现它?
答案 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类有问题。