LazyList
- это новый тип, введенный в Scala Стандартная библиотека 2.13.1 .
- Тип является неизменяемым и помещается в пакет
scala.collection.immutable
. Основное различие между общим типом List
заключается в том, что элементы LazyList
вычисляются лениво, поэтому вычисляются только те элементы, которые запрашиваются. Таким образом, отложенный список может иметь бесконечное количество элементов. - По производительности два типа (
LazyList
и List
) сопоставимы. - A
LazyList
создается с оператором, имеющим вид, аналогичный тому, который указан c для типа List
(::
), #::
. - Будучи ленивым,
LazyList
не может произвести StackOverFlowError
в рекурсивном l oop, как мог бы сделать старый List
.