Ответ 1
Java 8 Stream
- это то, что он подразумевает под представлениями. Они имеют два важных свойства:
- Они не являются строгими, что означает, что они дают результат только по запросу.
- Они объединяют несколько операций, поэтому вы можете выполнять несколько вызовов
map
илиfilter
, а исходная коллекция будет повторяться только один раз.
Scala эквивалентны различные коллекции View
, которые вы можете получить, вызвав .view
в существующую коллекцию. У них есть эти свойства - в конце концов, они являются определяющими свойствами, но страдают от недостатков и ошибок, не говоря уже о очень сложной реализации.
Пол играл с альтернативными реализациями для включения и выключения, но никогда не был приоритетом, заменяющим их.