为什么LinkedHashMap不提供按索引的访问?
|
从Javadoc:
Hash table and linked list implementation of the Map interface, with predictable iteration order. This implementation differs from HashMap in that it maintains a doubly-linked list running through all of its entries.
如果是这样,那为什么不提供java中的List这样的对象访问权限,
list.get(index);
更新
我已经使用LinkedHashMap实现了LRU Cache。我的算法要求我从缓存访问LRU对象。这就是为什么我需要随机访问,但是我认为这会降低性能,因此我更改了逻辑,仅在缓存已满时才访问LRU对象...使用removeEldestEntry()
谢谢你们...
没有找到相关结果
已邀请:
6 个回复
才改隘瘁
对于缓存,请查看Guava的
及其过期功能。
豪抱怒掳
提供了值的后备集合,因此可以这样解决:
也许效率不是很高(特别是在内存方面),但应该像您期望的那样为1。 顺便说一句,我认为这个问题对所有“ 7”运算都是合理的。 (无论如何它不应该慢于
,对吧?) 我开始进行a9扩展ѭ10并实现ѭ7implemented接口。令人惊讶的是,由于要删除,因此似乎无法执行。现有的
方法返回先前映射的对象,而
应返回
。 那只是一个反映,说实话,我也很讨厌10英镑不能像8英镑那样令人讨厌。
骇毖煽洁铂
扦帽次杏
方法与遍历列表中的所有元素没有什么不同,因为没有后备数组(与
相同)。 如果您需要的性能不是很好,我建议您自己扩展地图
扑北爱
如您所见,除非您缓存
数组,否则性能可能会很差。 但是,我会对此有疑问。
吠强祷豪硅