Мне нужна реализация карты, которая будет состоять из сложенных карт, которые я мог бы push()
и pop()
, и значения будут «добавлены» или «удалены», если они принадлежат карте, которую выталкивают/извлекают. И значения будут искаться сверху/снизу (или, опционально, снизу/сверху).
Существует ли реализация в JDK или где-либо еще?
Пример:
- Stack
- map4
- foo => aaa
- бар => 45
- map3
- bar => 22
- map2
- foo => ccc
- баз => ууу
- карта1
- map4
Для этого get("baz")
вернет "uuu"
, get("foo")
вернет "aaa"
, size()
вернет 3
и т. д. Это что-то вроде прототипа наследования JavaScript.
Есть один импл. impl, который на самом деле не будет проходить через все слои каждый раз, когда я вызываю какой-либо метод. Методы чтения будут использоваться чаще, чем методы push()/pop(), поэтому при этом могут быть некоторые предварительные вычисления.
LinkedList<Map<K, V>>
- person fge   schedule 17.06.2013LinkedBlockingDeque<Map<K, V>>
, если вам нужно, чтобы стек был потокобезопасным. - person Zim-Zam O'Pootertoot   schedule 17.06.2013