gpt4 book ai didi

java - 如何在达到限制时通过删除最旧的条目来限制 map 的最大大小

转载 作者:IT老高 更新时间:2023-10-28 21:17:20 24 4
gpt4 key购买 nike

我想要一个具有最大尺寸的 Map 实现。我想将其用作缓存,因此一旦达到限制,就会删除最旧的条目。

我也不想引入对任何 3rd 方库的依赖。

最佳答案

您可以使用 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;
}
};
}

关于java - 如何在达到限制时通过删除最旧的条目来限制 map 的最大大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11469045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com