2016-11-16 3 views
1

В LinkedHashMap должен содержаться список, связанный с вложением. Есть ли способ получить доступ к этому списку? Я ничего не могу найти в javadocs.Как получить доступ к связанному списку внутри LinkedHashMap?

+1

Выполняет ли 'keySet()' это? – bradimus

+1

Что вы пытаетесь сделать? – shmosel

+0

@shmosel У меня есть структура типа ключевого значения, которая требует next(), previous() в чем-то, надеюсь, лучше, чем O (n). Но я надеюсь сохранить эффективность хэш-карты для других операций. – WinterDev

ответ

1

Нет, это не так, но в зависимости от того, что вы пытаетесь сделать, итератором, возвращаемым iterator(), может быть достаточно.

+0

Это отстой, я надеялся получить доступ к .previous() и .next() в O (1) вместо того, чтобы перебирать записи в O (n), чтобы получить предыдущий и следующий. – WinterDev

+2

@WinterDev next() is O (1) –

+2

@PeterLawrey Если у меня есть ключ K и вы хотите получить эквивалент K.next(), мне нужно пройти через итератор, пока не найду K, а затем получите следующий , который является O (n) – WinterDev

2

Нет, это детали реализации и никогда не должны подвергаться внешнему миру.

+0

Значит, у них нет способа получить предыдущие() и Next() ключа в чем-то лучше, чем O (n), используя итератор? – WinterDev

+0

@WinterDev Я этого не говорил. Ваш вопрос касался доступа к кишкам какой-то другой структуры. Кроме того, вы уверены, что предыдущий и следующий не являются O (1) на самом деле? Вы уверены, что вам нужна LinkedHashMap? –

Смежные вопросы