Мне нужно реализовать какой-то массив или последовательность или список, который поддерживает самый дешевый способ распространенной пересылки и обратной обмотки элементов. См. Этот пример:
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.
UPDATE:
Для самого быстрого, но не так-идиоматического варианта алгоритма (вы знаете, когда вам это нужно), обратитесь к ответу Петра Пудлака!!!