SortedSet для последующего сохранения (отсортированного) порядка
У меня есть SortedSet
и мне нужно преобразовать его в Seq
сохраняя порядок (потому что мне нужно позвонить map
с последующим выводом).
Пара тестов в REPL показывает, что toSeq
сохранить порядок, а также toIndexedSeq
но мне нужно быть уверенным: гарантированно будет ли соблюден порядок?
В противном случае я могу использовать .toSeq.sorted
но это серьезно излишне...
1 ответ
Решение
Функции, такие как toSeq
реализованы путем создания новой коллекции (для toSeq это изменчивый Buffer
) и добавили элементы в порядке итерации исходной коллекции (SortedSet
). Это означает, что результирующая последовательность всегда будет упорядочена.