java 怎么限制Map的大小啊?????

 我来答
dark19861201
2016-12-19 · TA获得超过2153个赞
知道大有可为答主
回答量:2584
采纳率:79%
帮助的人:1800万
展开全部
为什么有这样的需求?好像系统自带的Map并没有这总操作,你需要大概只能自己重写一个Map
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
admireAmericas
推荐于2017-11-23 · TA获得超过476个赞
知道小有建树答主
回答量:635
采纳率:0%
帮助的人:225万
展开全部
在JDK中提供了一个相当用价值的主要用于缓存的Map实现—— LinkedHashMap 。
LinkedHashMap的迭代顺序就是最后访问其条目的顺序,从近期访问最少到近期访问最多的顺序。
详情可参考JKD中关于LinkedHashMap 的API文档。

你需要做的就是继承LinkedHashMap 并重写removeEldestEntry方法。

示例如下:

1
2
3
4
5
6

private static final int MAX_ENTRIES = 100;

protected boolean removeEldestEntry(Map.Entry<K,V> eldest) {
// 当前记录数大于设置的最大的记录数,删除最旧记录(即最近访问最少的记录)
return size() > MAX_ENTRIES;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式