gpt4 book ai didi

java - 有限大小的 HashMap

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:39:14 26 4
gpt4 key购买 nike

我想制作一个像缓存一样使用的 HashMap 。缓存有一个初始大小,如果您在缓存已满时尝试插入一个项目,那么最近使用的项目应该被替换……有什么想法吗?

最佳答案

您可以通过实现 removeEldest 来使用 LinkedHashMap

public static <K,V> Map<K,V> lruCache(final int maxSize) {
return new LinkedHashMap<K,V>(maxSize*4/3, 0.75f, true) {
@Override
protected boolean removeEldestEntry(Map.Entry<K,V> eldest) {
return size() > maxSize;
}
};
}

更多详情

http://vanillajava.blogspot.co.uk/2011/06/java-secret-lru-cache-in-java.html

http://blog.meschberger.ch/2008/10/linkedhashmaps-hidden-features.html

关于java - 有限大小的 HashMap ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12319741/

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