ConcurrentSkipListMap приведен в порядок
У меня есть ConcurrentSkipListMap ключей и значений. Очень важно соблюдать порядок клавиш.
Проблема появляется, когда я пытаюсь вставить новое значение в определенную позицию. Единственный способ вставить значение - это метод put(), который помещает это значение в последнюю позицию.
С помощью метода replace он может редактировать только значение, а не ключ.
Является ли это возможным? Что я могу сделать? Можете ли вы сказать мне другой класс, чтобы сделать это?
1 ответ
ConcurrentSkipListMap самостоятельно хранит порядок ключей при их сортировке.
Так что либо вы не знали об этом, либо вы на самом деле не хотите держать порядок клавиш, а манипулируете ими сами.
Если вы хотели, чтобы ключи возвращались в том порядке, в котором они были размещены на карте, используйте список разделов (ConcurrentQueue, если вам нужен параллелизм) и поместите ключи туда вручную.