2016-11-16 7 views
1

LinkedHashMapには、挿入オーダーのリンクリストが含まれていると想定されています。そのリストにアクセスする方法はありますか?私はそれのためのjavadocsで何かを見つけることができません。LinkedHashMap内のリンクリストにアクセスするには?

+1

'keySet()'はそれを行いますか? – bradimus

+1

何をしようとしていますか? – shmosel

+0

@shmosel私はO(n)よりうまくいくものでnext()、previous()を必要とするキー値型構造を持っています。しかし、私は他の操作のハッシュマップの効率を保つことを望んでいます。 – WinterDev

答えて

1

いいえ、実際に何をしようとしているかによっては、iterator()が返すイテレータで十分です。

+0

それは吸う、私は前と次を取得するためにO(n)のエントリをループする代わりに、O(1)の.previous()と.next()へのアクセスを得ることを望んでいた。 – 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が必要ですか? –

関連する問題