Java "простая" реализация карты / связанная карта (НЕ LinkedHashMap) - PullRequest
0 голосов
/ 26 апреля 2020

Простой вопрос:

Что такое «простая» реализация карты в java, означающая, что она сохраняет свои записи в виде простого списка ключей и значений без упорядочения, хэширования или чего-то еще. Предположительно, этот порядок итераций реализаций был бы порядком вставки (как в LinkedHashMap), но даже не тот, который был бы необходим для моего варианта использования. Я бы предпочел связанную архитектуру (O(1) для добавления), если она существует.

Я знаю, что это было бы чрезвычайно легко реализовать самостоятельно, но я просто хочу знать, существует ли "стандарт * 1009" * "реализация.

1 Ответ

1 голос
/ 26 апреля 2020

Простейшая реализация Map<K,T> - это класс-оболочка для List<Pair<K,T>>. Или для экономии памяти - обертка для двух списков или массивов K и T.

Оболочка должна была бы реализовать методы Map в качестве операций над обернутым списком. Это не тривиально.

Я просто хочу знать, существует ли реализация "стандарта java".

В Java реализации нет SE, и это то, что "стандарт Java" означает для большинства людей. Кроме того, мне неизвестны какие-либо сторонние библиотеки, которые реализуют это.

Почему?

Производительность этой "простейшей возможной" карты слишком низкая, чтобы ее можно было использовать более чем для немногих вариантов использования. Команда Java неоднократно заявляла, что не намерена реализовывать все возможные вещи в стандартных библиотеках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...