Мне нужно реализовать своего рода массив, последовательность или список, который поддерживает самый дешевый способ пересылки и обратной перемотки элементов. См. Этот пример:
Original sequence: 1 2 3 4 5
Forwarded once: 5 1 2 3 4
Forwarded twice: 4 5 1 2 3
То же, но противоположное для обратной обмотки. Каким будет самый дешевый и наиболее похожий на Scala способ реализовать это? В Java я мог бы использовать LinkedList, и это было бы здорово ... Однако я не смог найти однозначного ответа для Scala.
Кроме того, также должно быть легко заменить любой заданный элемент по индексу, как в LinkedList.
ОБНОВЛЕНИЕ:
Чтобы узнать о самом быстром, но не очень идиоматическом варианте алгоритма (вы знаете, когда он вам нужен), обратитесь к ответу Петра Пудлака !!!