Java: последний доступ к 2D HashMap

У меня есть следующая структура:

HashMap‹ Строка, HashMap‹ Строка, Строка››

Теперь я хочу знать последний доступный элемент во 2-м измерении.

Я знаю, что есть TreeMap, который имеет смысл в первом измерении, но после этого он не имеет никакого смысла.

Как я могу отслеживать порядок 2D HashMap?

Под доступом я имею в виду:

значение = hashmap.get(a).get(1)

значение = hashmap.get(b).get(2)

значение = hashmap.get(c).get(3)

hashmap.removeLast();

hashmap.removeLast();

hashmap.removeLast();


person John Frost    schedule 20.09.2012    source источник
comment
что вы имеете в виду под последним доступом?   -  person Franz Ebner    schedule 20.09.2012
comment
Я обновил вопрос соответственно   -  person John Frost    schedule 20.09.2012
comment
Итак, вы хотите изменить порядок второй карты в зависимости от времени доступа?   -  person zeller    schedule 20.09.2012
comment
вам нужен HashMap или вы просто погуглили и нашли HashMap вместо Array?   -  person Franz Ebner    schedule 20.09.2012


Ответы (1)


нет собственного способа делать то, что вы хотите. Но вы можете расширить HashMap, переопределить get, чтобы сохранить ключ get в списке, а затем добавить метод, такой как removeLastGetElemet(), который просто получает последний элемент списка и вызывает удаление (key)

person Lesto    schedule 20.09.2012
comment
Итак, как вы думаете, будет ли потребляться больше памяти, если просто реализовать тип упорядочения LinkedList или иметь отдельный список с парами ключей? - person John Frost; 20.09.2012
comment
лучший способ - использовать LinkedList‹Sting› (это очередь, поэтому порядок вставки элементов соблюдается), где каждый элемент является ключом получения. если вы всегда добавляете новый ключ в голову (addFirst), то вы можете удалить последний использованный элемент только с помощью map.remove(list.poll()), таким образом, список автоматически удалит удаленный ключ из себя. - person Lesto; 20.09.2012
comment
Хорошо, я не хотел идти этим путем, но если нет другого пути, спасибо за вашу помощь. - person John Frost; 20.09.2012