mat*_*rns 27 java collections caching map
我想要一个具有最大大小的Map的实现.我想将它用作缓存,因此一旦达到限制就会删除最旧的条目.
我也不想引入任何第三方库的依赖.
Pet*_*rey 65
您可以像这样使用LinkedHashMap
您可以通过LRU或FIFO删除.
public static <K, V> Map<K, V> createLRUMap(final int maxEntries) {
return new LinkedHashMap<K, V>(maxEntries*10/7, 0.7f, true) {
@Override
protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
return size() > maxEntries;
}
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18108 次 |
| 最近记录: |