2016-11-16 15 views
1

LinkedHashMap應該包含一個插入順序鏈表。有什麼方法可以訪問該列表嗎?我在javadoc中找不到任何東西。如何訪問LinkedHashMap中的鏈表?

+1

'keySet()'做到了嗎? – bradimus

+1

你想做什麼? – shmosel

+0

@shmosel我有一個鍵值類型的結構,需要next(),previous()在希望比O(n)更好的東西。但我希望能夠保持其他操作的hashmap效率。 – WinterDev

回答

1

不,它取決於你想要做什麼,由iterator()返回的迭代器可能就足夠了。

+0

這很糟糕,我希望能夠訪問O(1)中的.previous()和.next(),而不是循環O(n)中的條目來獲取上一個和下一個。 – WinterDev

+2

@WinterDev next()是O(1) –

+2

@PeterLawrey如果我有一個密鑰K並想獲得K.next()的等價物,我必須遍歷迭代器直到找到K,然後得到下一個,在這種情況下,它是O(n) – WinterDev

2

不,這些是實施細節,絕不應暴露於外部世界。

+0

因此他們沒有辦法使用迭代器獲得比O(n)更好的關鍵字的Previous()和Next()? – WinterDev

+0

@WinterDev我沒有這樣說。你的問題是關於訪問某些其他結構的膽量。另外,你確定上一個和下一個實際上不是O(1)嗎?你確定你需要一個LinkedHashMap? –