Подтвердить что ты не робот

Что такое Java 8 "view"?

Я смотрю разговор Пола Филипса:

http://www.youtube.com/watch?v=TS1lpKBMkgg

в 12:48 он говорит: "В Java 8 их взгляды действительно работают" при сравнении Scala и Java

Что такое "представления" Java и что эквивалентно Scala?

update: Спасибо Даниэлю. Я нашел эту статью полезной: http://www.scala-lang.org/docu/files/collections-api/collections_42.html

4b9b3361

Ответ 1

Java 8 Stream - это то, что он подразумевает под представлениями. Они имеют два важных свойства:

  • Они не являются строгими, что означает, что они дают результат только по запросу.
  • Они объединяют несколько операций, поэтому вы можете выполнять несколько вызовов map или filter, а исходная коллекция будет повторяться только один раз.

Scala эквивалентны различные коллекции View, которые вы можете получить, вызвав .view в существующую коллекцию. У них есть эти свойства - в конце концов, они являются определяющими свойствами, но страдают от недостатков и ошибок, не говоря уже о очень сложной реализации.

Пол играл с альтернативными реализациями для включения и выключения, но никогда не был приоритетом, заменяющим их.