我知道LinkedHashMap有一个可预测的迭代顺序(插入顺序).是否Set通过返回LinkedHashMap.keySet()和Collection返回的LinkedHashMap.values()也维持这种秩序?
我有
LinkedHashMap<String, List<String>> hMap;
Run Code Online (Sandbox Code Playgroud)
我想List<String>通过位置而不是关键.
我不想使用迭代.
有没有其他方法可以根据索引获得价值?
调用LinkedHashMap.keySet()时,返回的Set的顺序是否与添加键的顺序相同?
来自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);
UPDATE
我使用LinkedHashMap实现了LRU Cache.我的算法要求我从缓存中访问LRU对象.这就是我需要随机访问的原因,但我认为这会让我失去性能,所以我改变了逻辑,我正在访问LRU对象就在Cache已满时...使用removeEldestEntry()
谢谢你们...