Если я понял вопрос, вам нужна структура данных, которая сохраняет порядок ключей, то есть положение символа, заменяющего символ в последовательности ссылок для индивидуума.
Я предполагаю, что вы обрабатываете предметы, увеличивая порядок позиций.
Теперь, поскольку TreeMap реализует Красно-Черное дерево , оно имеет логарифмическую сложность для основных операций.
Если вам просто нужно выполнить итерацию последовательности по порядку, вы получаете серьезное снижение производительности при каждой вставке.
Если мои предположения верны , я бы сказал, что вы можете использовать LinkedHashMap .
Как объясняет Javadoc:
Эта реализация избавляет своих клиентов от неопределенных, как правило,
хаотическое упорядочение, предоставляемое HashMap (и Hashtable), без
увеличение стоимости, связанной с TreeMap.
Это означает, что вы можете перебирать элементы в том же порядке, в котором вы их вводили, но основные операции имеют ту же сложность, что и обычный HashMap, с падением производительности из-за обработки связанного списка.
Вы можете представить это как HashMap, пройденный двойным списком, соединяющим ключи в порядке их вставки.
Обратите внимание, что я не обращаю внимание на тот факт, что ваша последовательность помещается в памяти или нет. Также помните, что LinkedHashMap займет больше памяти, чем простой HashMap.