Для некоторых алгоритмов я снова и снова работаю над тем же списком (или их суффиксами), и я обращаюсь к length
. Однако, кроме этого, я получаю только head
и tail
, поэтому мне не нужен произвольный доступ. Каков наилучший способ оптимизации доступа к длине?Scala List with cached length
Является ли length
внутренним кэшем (возможно, lazy val
?)? Должен ли я писать обертку вокруг List
или подкласс? Могу ли я сделать это с признаком, и это будет хорошим решением? Должен ли я использовать другой класс коллекции, например, Vector
?