具有有限元素的FIFO映射

dav*_*ooh 14 java queue collections map fifo

我需要a HashMap或simpy a Map,其中固定数量的元素(n)像FIFO队列一样工作.

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

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

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

Lou*_*man 29

您可以通过LinkedHashMap以下方式执行此操作:

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

  • @TheOriginalAndroid,是吗?你绝对是LinkedHashMap的子类. (9认同)