從的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.
爲什麼LinkedHashMap不提供按索引訪問?
如果是這樣,那麼爲什麼沒有提供像在Java中, list.get(指數)列出對象訪問;
UPDATE
我一直在使用LinkedHashMap實現LRU緩存。我的算法要求我從緩存中訪問LRU對象。這就是爲什麼我需要隨機訪問,但我認爲這會損失我的糟糕的性能,所以我改變了邏輯,並且當緩存滿時訪問LRU對象...使用removeEldestEntry()
謝謝大家。 ..
謝謝肖恩。我正在使用LinkedHashMap來實現LRU緩存......並且希望有一些功能來查看LRU對象......但是我猜測迭代映射將會是非常糟糕的表現......您是否知道用於此類功能的任何其他數據結構? – 2011-04-14 17:21:30
+1,很好的答案。然而,應該指出的是,它不會比由'LinkedList'提供的性能差,所以我沒有真正看到這個論點。 – aioobe 2011-04-14 17:22:05
@Eternal菜鳥,它說在docs:*這種地圖是非常適合於構建LRU緩存*和*,*迭代在地圖上是有效的,因爲它得到(O(n))的 – aioobe 2011-04-14 17:39:50