ConcurrentSkipListMap приведен в порядок

У меня есть ConcurrentSkipListMap ключей и значений. Очень важно соблюдать порядок клавиш.

Проблема появляется, когда я пытаюсь вставить новое значение в определенную позицию. Единственный способ вставить значение - это метод put(), который помещает это значение в последнюю позицию.

С помощью метода replace он может редактировать только значение, а не ключ.

Является ли это возможным? Что я могу сделать? Можете ли вы сказать мне другой класс, чтобы сделать это?

1 ответ

ConcurrentSkipListMap самостоятельно хранит порядок ключей при их сортировке.

Так что либо вы не знали об этом, либо вы на самом деле не хотите держать порядок клавиш, а манипулируете ими сами.

Если вы хотели, чтобы ключи возвращались в том порядке, в котором они были размещены на карте, используйте список разделов (ConcurrentQueue, если вам нужен параллелизм) и поместите ключи туда вручную.

Другие вопросы по тегам